반응형

 

 

1. spring boot

: 스프링 프레임워크와 3rd party library들에 대한 복잡하고 반복적인(boiler-plate) 설정 코드를 최소화하고 비즈니스 로직 구현에 집중하게 함

- 내장된 Servlet container(Tomcat)를 이용하여 독립적으로 실행 가능한 Spring 애플리케이션 개발 가능 (JAR)

- 'starter' dependency를 이용한 build 의존성 설정 간소화

- 스프링 프레임워크와 3rd party library들에 대한 자동 설정(auto-config)

 

 

 

2. 스타터 의존성(starter)

spring-boot-starter 가 포함하는 의존성

1) spring-boot

2) spring-boot-autoconfigure

3) spring-boot-starter-logging

4) javax-annotation-api

5) spring-core

6) snakeyaml

 

spring-boot-starter-web이 포함하는 의존성

1) spring-boot-starter

2) spring-boot-starter-json

3) spring-boot-starter-tomcat

4) spring-web

5) spring-webmvc

 

+ spring-boot-starter-jdbc

 

 

 

 

3. 자동설정(auto-configuration)

: 어플리케이션 실행 시, classpath에 Spring module 또는 3rd party library가 존재할 경우,

관련된 bean들의 설정을 자동으로 실행한다.

 

예) 특정 database가 classpath에 있으면 그 database를 사용하는 Datasource bean들을 자동으로 실행한다.

예) spring-jdbc 모듈이 classpath에 있고, datasource bean이 설정되어 있으면 jdbcTemplate bean을 자동으로 설정해준다.

예) Spring-webmvc 모듈이 classpath에 있으면 DispatcherServlet, HandlerMapping Spring MVC의 기본 bean들을 자동 설정

예) Thymeleaf libraryclasspath에 있으면  template resolver, view resolver, template engine 등을 자동으로 설정(view로 이용 가능)

예) Spring Security 모듈이 classpath에 있으면 Spring Security 기반의 웹 보안을 위해 필요한 bean들을 자동 설정

예) Embedded Tomcatclasspath에 있으면 Tomcat servlet container를 시작함 (8080 port 사용)

 

아래와 같은 명시적인 설정을 하지 않아도 Spring boot가 필요한 bean들을 자동으로 생성 및 설정해준다.

 

 

 

 

 

4. Spring boot Actuator

: 실행중인 애플리케이션의 내부 상태를 조회하고 모니터링하는 기능

다양한 application metrics

1) 실행중인 process, thread의 상태

2) HTTP 요청

3) 메모리 사용량

4) data source 사용량(connection 개수)

5) GC 횟수 및 개수

- Web endpoint(Rest URL)이나 원격 shell을 통해 이용 가능하다.

 

 

 

 

5. @SpringBootApplication

어노테이션은 다음과 같은 세 가지 어노테이션을 포함한다.

1) @SpringBootConfiguration : @Configuration 기능 포함

2) @EnableAutoConfiguration : classpath 기반으로 자동 bean scan 실행

4) @ComponentScan : 현재의 package를 base로 자동 bean scan 실행

- sub package들도 모두 실행

 

 

 

 

6. shell/cmd에서 build 실행 방법

1) mvnw가 포함된 폴더로 이동

2) mvnw package

-> build 후 JAR 파일 생성

3) java -jar target/demo-0.0.1-SNAPSHOT.jar

-> 생성된 JAR 파일 실행

4) mvnw spring-boot:run

-> build 후 바로 실행

 

 

 

7. 추가적인 MVC 설정, 인터셉터 설정

 

 

 

 

 

 

 

반응형

'Programming > Spring' 카테고리의 다른 글

08. MyBatis  (0) 2021.06.01
07. Thymeleaf  (0) 2021.05.31
05. Spring MVC  (0) 2021.04.18
04. bean life-cycle관리 / 외부설정 property / message source  (0) 2021.04.13
03. Auto-wiring, Java code 기반 설정, annotation 기반 설정  (0) 2021.04.13

+ Recent posts