Framework 82

JPA

Refactor->Inline method 또는 ctrl+Alt+n하면 긴 코드를 줄여줌. select m으로 객체 자체를 select한다. 저장, 조회, 업데이트는 짤 필요 없음. JPA는 저장거나 변경할 때 항상 transaction이 있어야 함. JPA는 기존의 반복 코드는 물론이고, 기본적인 SQL도 JPA가 직접 만들어서 실행해줌. SQL과 데이터 중심의 설계애서 객체 중심의 설계로 패러다임을 전환 할 수 있음. 개발 생산성을 크게 높임. build.gradle의 dependencies에 implementation 'org.springframework.boot:spring-boot-starter-data-jpa'추가 @Entity를 붙이면 JPA가 관리하는 entity구나 알 수 있다. PK인 ..

스프링 빈과 의존관계

스프링 빈과 의존관계 컴포넌트 스캔과 자동 의존관계 설정 자바 코드로 직접 스프링 빈 등록 1. 컴포넌트 스캔과 자동 의존관계 설정 @Component @Controller @Service @Repository 애노테이션이 붙으면 스프링 빈으로 자동 등록 생성자에 @Autowired가 있으면 객체 생성 시점에 스프링 컨테이너에서 해당 스프링 빈을 찾아서 주입 객체 의존관계를 외부에서 넣어주는 것을 DI(Dependency Injection) DI에는 필드, 주입 setter 주입, 생성자 주입 이렇게 3가지가 있음. 의존관계가 실행중에 동적으로 변하는 경우는 없으므로 생성자 주입을 권장!!!!! 실무에서는 주로 정형화된 컨트롤러, 서비스, 리포지토리 같은 코드는 컴포넌트 스캔을 사용. 그리고 정형화되지 ..

회원 관리 예제 - 백엔드 개발

shift+F6 rename ctrl+Alt+Shift+t refactor하기(그 중 Extract Method를 할 것임) class에 커서 두고 ctrl+shift+t 자동으로 test코드 생성 ctrl+Alt+v asswertThrows를 IllegalStateException e로 바꿀 때 편함 shift+F10 이전 실행 다시 ☆ 비즈니스 요구사항 정리 - 데이터 : 회원ID, 이름 - 기능 : 회원 등록, 조회 - 아직 데이터 저장소가 선정되지 않음(가상의 시나리오) ☆ 일반적인 웹 애플리케이션 계층 구조 컨트롤러 : 웹MVC의 컨트롤러 역할 서비스 : 핵심 비즈니스 로직 구현 리포지트리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장, 관리 도메인 : 비즈니스 도메인 객체 ex) 회원, ..

스프링 웹 개발 기초

1. 정적 컨텐츠 스프링 컨테이너에서 우선적으로 관련 컨트롤러를 찾는다. 없으면 static폴더에 있는 html을 본다. 2. MVC와 템플릿 엔진 Model : 모델은 데이터베이스나 파일과 같은 데이터 소스를 제어한 후에 그 결과를 리턴해줌. View : 화면과 관련. Controller : URL에 따라서 사용자의 요청을 파악한 후 그 요청에 맞는 데이터를 Model에 의뢰하고, 데이터를 View에 반영 @GetMapping("hello-mvc") public String helloMvc(@RequestParam(value="name") String name, Model model) { model.addAttribute("name", name); return "hello-template"; } @Re..

Build

cmd에서 서버를 build하는 과정 ※ intellij에서 서버를 끄고 실행해야 충돌이 안 생김! cmd에서 gradlew.bat를 실행하려면 gradlew 입력 후 엔터 gradlew build하면 build 폴더가 만들어짐. build -> libs에서 .jar파일을 실행한다. java -jar 파일명.jar을 입력하면 서버가 실행됨. gradlew clean 빌드한 파일이 없어짐=build 폴더 삭제됨 gradlew clean build 완전히 삭제 후 build ctrl+c로 서버 종료 출처 : www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%9E%85%EB%AC%B8-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A..