목록Spring (82)
충분히 쌓여가는
build.gradle 파일 dependencies { // 생략 // 스프링 데이터 JPA implementation 'org.springframework.boot:spring-boot-starter-data-jpa' runtimeOnly 'com.h2database:h2' // 인메모리 데이터베이스 compileOnly 'org.projectlombok:lombok' // 롬복 annotationProcessor 'org.projectlombok:lombok' } 스프링 부트용 JPA인 스프링 데이터 JPA 로컬 환경과 테스트 환경에서 사용할 인메모리 데이터베이스 H2 반복 메서드 작업을 줄여주는 라이브러리인 lombok
main 실제 코드를 작성하는 공간 프로젝트 실행에 필요한 소스 코드나 리소스 파일은 모두 이 폴더 안에 존재 test 프로젝트의 소스 코드를 테스트할 목적의 코드나 리소스 파일 존재 build.gradle 빌드를 설정하는 파일 의존성이나 플러그인 설정 등과 같이 빌드에 필요한 설정을 할 때 사용 settings.gradle 빌드할 프로젝트의 정보를 설정하는 파일 resources 내부 디렉터리 및 파일 templates: HTML과 같은 뷰 파일이 생성될 디렉터리 static: JS, CSS, 이미지와 같은 정적 파일을 넣은 디렉터리 application.yml: 데이터베이스의 설정 정보, 로깅 정보 등이 들어갈 수 있고, 직접 설정 시 사용, 스프링 부트 서버가 실행되면 자동으로 로딩되는 파일
계층 각자의 역할과 책임이 있는 어떤 소프트웨어의 구성 요소 각 계층은 서로 소통할 수 있지만 다른 계층에 직접 간섭하거나 영향을 미치지 않는다 스프링 부트 계층 프레젠테이션 계층 비즈니스 계층 퍼시스턴스 계층 각 계층이 서로 통신하며 프로그램을 구성 프레젠테이션 계층(컨트롤러) HTTP 요청을 받고 이 요청을 비즈니스 계층으로 전송하는 역할 컨트롤러가 프레젠테이션 계층 역할 수행 컨트롤러는 스프링 부트 내에 여러 개 존재할 수 있다 비즈니스 계층(서비스) 모든 비즈니스 로직 처리, 비즈니스 로직은 서비스를 만들기 위한 로직 웹 사이트에서 벌어지는 모든 작업, 예를 들어 주문 서비스일 경우 주문 개수, 가격 등의 데이터를 처리하기 위한 로직 주문 처리를 하다가 발생하는 예외 처리 로직, 주문을 받거나 취..
@RestController public class TestController { @GetMapping("/test") public String test() { return "Hello world!"; } } @RestController 라우터 역할을 하는 애너테이션 라우터: HTTP 요청과 메서드를 연결하는 장치 @RestController 애너테이션이 있어야 클라이언트 요청에 맞는 메서드를 실행할 수 있다 위 코드의 경우 /test라는 GET 요청이 왔을 때, test() 메서드를 실행하도록 구성한 것 @RestController과 @Component 같은 취급? @RestController의 구성으로 @Controller과 @ResponseBody 애너테이션 존재 즉, @Contorller 애너테이..