Spring (58) 썸네일형 리스트형 DI 와 IOC 컨테이너 DI (Dependency Injection) A라는 객체가 B,C에 의존한다. 어떤 객체가 작업을 할 때 다른 객체의 도움을 받아 진행 방법 1) 다른 객체를 직접 생성해서 사용. ex) A라는 객체 안에서 new B()를 통해 B객체 인스턴스를 만들어 사용. 방법 2) B/C 객체를 외부에 생성하여 A에 넣어줌. A객체가 존재하는데 A객체의 setter()혹은 생성자를 통해 B ,C객체를 넣어줌. A라는 객체에 B b가 존재 setter b() 라는 메소드를 통해 외부에서 new B()를 주입시키면 A의 b에 도킹됨. 객체 하나하나가 부품이라고 할 수 있음. A를 구성하는 여러 부품이 존재 예를들어 핸들이라고 하면 핸들에는 여러 종류가 있음 B,C,D,E 어떤 A는 B핸들을 사용하고 어떤 A는 C핸들.. eclipse 스프링 플러그인 설치 eclipse - help - eclipse marketplace - STS검색- STS lunar 버전 설치 ( 버전 3 밑에거임) 재부팅 하면 spring 개발 환경 . spring lagacy project - spring MVC 설정 어노테이션 오류는 엔터한번 쳐주니 다운됨. 프레임 워크 개념 프레임 워크 : 특정 목적에 맞게 프로그래밍을 쉽게 하기 위한 약속. 스프링 : 자바 언어 기반. -> 톰캣 이용 가능. 환경 설정 JDK 설치 (환경 변수 세팅까지) 이클립스 IDE 개발 툴 다운 (JAVA EE버전) 톰캣 설치 -> 이클립스 window - server - show view - other - server 탭 열고 - No server are available. click this link to.... 클릭해서 server생성 - browse 에서 톰캣 설치 장소 스프링 부트 프로젝트 (Architecture & TDD & REST API) 격언 기억 "뭔가 잘못했겠지" Domain -> 전문 지식 / 나의 생각. 사용자 스토리 -> 사용자 입장에서 기능을 서술 고객 -> 가게 목록을 볼 수 있고, 가게의 메뉴를 볼 수 있음. 좋은 가게인지 평점을 확인 할 수 있음. 가게 목록을 분류에 따라 볼 수 있음. 즐겨찾기 추가가능. 인원 예약 가능 가게 -> 예약 확인 가능 예약 요청에 응답가능 관리자 -> 고객이 서비스 쓸 수 있도록 가게 정보 등록가능 기타등등.. 도메인 모델링 -> Restaurant Menu Item (Food & Beverage) User Favoite - 즐겨 찾기 Review Reservation 시스템 아키텍처 -> 프로그램은 소프트 웨어 해당 프로그램을 구동할 하드웨어도 포함해야 됨. 프로그램 하드웨어 인프라 종합 .. orderInfo 구현 원하는 user의 주문 정보를 받아오는 함수 구현! @Data @NoArgsConstructor @AllArgsConstructor @Builder public class UserOrderInfoApiResponse { private UserApiResponse userApiResponser; //userApiResponser 에는 private List orderGroupApiResponseList; 존재 OrderGroupApiResponse에는 private List itemApiResponseList; 존재 } @RequestMapping("/api/user") public class UserApiController implements CrudInterface { @Autowired private.. 페이징 처리 paging 처리 게시판 등에서 몇 번째 페이지인지 데이터가 몇개 씩 내려오는지, 총 몇개의 데이터가 전체적으로 들어있는지 따라서 몇개의 페이지 까지 그릴수 있는지에 대한 정보가 필요함 SELECT * FROM study.user where 1 =1 limit 20, 10; #뒤는 몇개의 데이터가 들어오는지 #앞은 몇 부터 시작하는지 # 0 -> 1 button # 10-> 2 button # 20-> 3 button order by id desc id기준으로 뒤에서 부터 개발자는 페이지 0번 부터 다루지만 버튼으로 표시되는 것은 1부터임. @GetMapping("") public Header search(@PageableDefault(sort = "id",direction = Sort.Direction.. Controller 추상화 Controller 추상화 지금까지 CRUD 제작 시 @GetMapping ,@PostMapping 등 모든 작업에 직접 어노테이션을 달아가면서 제작했는데, 개발자가 이런 어노테이션을 까먹을 수도 있고 여러 상황이 발생함. -> 방지 목적 interface를 매번 상속받고 매번 직접 구현하기 보다 해당 interface를 상속받은 추상클래스를 하나 만들고 (로직 구현은 당연히 안되어 있는 상태) public한 Interface를 return하도록 한 뒤에 원하는 Entity의 Controller에서 해당 추상클래스를 extends하여 추상클래스에서 return시키고 있는 interface를 자신의 logicservice로 치환하도록 함. 치환하는 것은 해당 Entity의 컨트롤러가 생성되는 시점에 되어야.. Code Refactoring : JPA Enum 형태 관리 Code Refactoring 외부 API는 동일하게 제공되나 내부적으로 오류같은 것에 대한 대비가 탄탄하게 되도록 설계하는 것. JPA Enum 형태 값 관리 이를 테면 status라는 변수에 REGISTERED / UNREGISTERED가 직접 입력으로 들어가게 되는데 오타나 여러 오류가 발생 가능. enum을 만들고 원하는 값을 만들고 그 안에 보일 index , title, description 등 원하는 변수 설정하고 변수 생성함. 그리고 그 변수들을 받을 수 있도록 어노테이션 지정 하고 만든 enum을 지정할 Entity에서 enum 클래스로 변수를 바꿔주고 ApiRequest , ApiResponse 모두 바꿔줌. @Getter @AllArgsConstructor public enum Use.. 이전 1 2 3 4 5 6 7 8 다음