Spring boot 정리
Spring Boot 정리
회사에서 Java & Scala로 개발을 하고있지만 실제로 쓰고 있는 Spring 기능은 10%도 안쓰는거같다. 그래서 실력향상을 도모하고자 Spring-boot를 따로 공부하기로 했다.
해당 시리즈의 내용은 swchoi.log 블로그를 참고해서 작성되었다.
1. Spring boot 아키텍쳐
- Controller layer : UI에서 요청을 받고 응답을 전달한다.
- Service layer : 비즈니스 로직을 구현한다.
- Repository layer : 데이터베이스에서 가져올 쿼리를 구현. JPA를 이용하는 경우 정해진 규칙에 따라서 메소드를 사용하거나, 만들어놓으면 적절한 쿼리를 수행할 수 있다.
- Domain layer : 실제로 DB 물리 테이블과 1:1 맵핑되어 바인딩 되어있다.
Controller 에서는 Service 를 호출해서 받은 결과를 UI 에 전달한다. [Service -> Repository -> Domain] 처럼 각각 관련 있는 클래스를 호출하도록 설계한다. Service 가 또 다른 Service 를 호출하지 않도록 주의하고, Service 에서 필요한 Repository 에 접근하여, 데이터를 가져올 수 있도록 해야 한다.
2. Spring 프로젝트 생성
-
준비물
- Intellj
- Java8
- Gradle 7.1
-
Intellj로 Gradle project 생성
-
New Project > Gradle > Java 를 선택 후 Next를 클릭
-
Project 이름을 지정하고 저장. (나의 경우 Test Blog에서 T만 따와 TBlog라고 지어주었다.)
-
-
Gradle 변경
-
초기 설정 값
plugins { id 'java' } group 'org.example' version '1.0-SNAPSHOT' repositories { mavenCentral() } dependencies { testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1' } test { useJUnitPlatform() }
-
Spring 설정 값
buildscript { ext { springBootVersion = '2.1.7.RELEASE' // 전역 변수 설정 } repositories { mavenCentral() // 의존성을 어디에서 다운받을것이냐 } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") } } /*---------------------spring 필수 plugin-----------------------*/ apply plugin : 'java' apply plugin : 'eclipse' apply plugin : 'org.springframework.boot' apply plugin : 'io.spring.dependency-management' // 의존성 관리 plugin /*---------------------spring 필수 plugin-----------------------*/ group 'com.test.blog' version '1.0-SNAPSHOT' sourceCompatibility = 1.8 repositories { mavenCentral() } // Gradle 7버전에서는 implementation 사용 dependencies { implementation('org.springframework.boot:spring-boot-starter-web') testImplementation('org.springframework.boot:spring-boot-starter-test') }
-
설정된 Gradle을 리로드 하고싶다면 Intellj 우측의 Gradle > [프로젝트 이름] > 우클릭 > Reload Gradle Project 를 해주면 된다.
-
-
Main Class 만들기
- Main class
(주의해야할 점은 꼭 패키지를 만들고 Main 클래스를 만들자. com.test.blog 이런식으로! 안그러면 오류가 난다.)
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class TBlogMainApplication { public static void main(String[] args) { SpringApplication.run(TBlogMainApplication.class, args); } }
- @SpringBootApplication : Spring boot는 Main 메소드가 선언된 클래스를 기준으로 실행. 해당 어노테이션은 Spring boot를 실행하는데에 필요한 가장 기본적인 설정이 담겨있음.
- SpringApplication.run 메소드 : 내장 WAS(Web Application Service)를 실행해주는 메소드. Spring boot는 하나의 Jar 파일에 tomcat을 내장하고 있어서 서버에 별도로 Tomcat을 설치하지 않아도 된다.
- 설정 후 실행하면 8080 포트로 Spring이 실행된다.
- Main class
Author And Source
이 문제에 관하여(Spring boot 정리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jiseok/Spring-boot-정리저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)