1. Spring Boot 활용 소개
Spring Boot 핵심 기술 | 각종 기술 연동 |
Spring Application | Spring Web MVC |
외부 설정 | Spring Data |
Profile | Spring Security |
Logging | Rest API Client |
Test | 기타 |
Spring-Dev-Tools |
2. SpringApplicaton
SpringApplication 실행 시 기본적으로 아래와 같이 실행했었는데,
이렇게 하면 SpringApplication이 제공하는 다양한 커스터마이징 기능을 사용하기 어려움
SpringApplication.run(Application.class, args);
인스턴스를 만들고 run을 하는 방법으로 사용하면 됨
SpringApplication app = new SpringApplication(Application.class);
app.run(args);
Spring Boot Application을 실행하는 또 다른 방법 : SpringApplicationBuilder
new SpringApplicationBuilder()
.sources(Application.class)
.run(args);
3. FailureAnalyzers
- application 에러 발생 시 에러 메시지를 좀 더 보기 좋게 출력해주는 기능
- 기본적으로 Spring Boot Application에 여러가지 FailureAnalyzers 기능이 등록되어 있음
- 직접 만들어서 등록할 수도 있음
4. 배너
Spring Boot 실행 시 보이는 아래 이미지가 배너
① 배너 변경하기
- src/main/resources 밑에 banner.txt | gif | jpg | png 파일 추가 후 실행
- 다른 경로에 놓고 싶다면, applicatoin.properties에 spring.banner.location 지정
- 이미지 배너 사용 시, height, width, margin, ... 등도 지정 가능
# banner.txt
==================================
kvp Spring Boot Study -- hhlin
Spring Boot Version : ${spring-boot.version}
==================================
${spring-boot.version} 을 사용해서 Spring Boot Version 명시 가능
② MANIFEST 파일
일부는 MANIFEST 파일이 생성이 되어야만 찍히는 변수들이 있음
ex) ${application.version}, ${application.formatted-version}
mvn package 명령어로 패키징을 하게 되면,
Spring Boot는 모든 의존성을 포함해서 하나의 jar 파일로 만들어주고 jar 파일만 실행해도 application이 실행됨
jar 파일로 패키징을 할 때 MANIFEST 파일도 만들어주기 때문에 jar 파일로 실행하게 되면
${application.version}, ${application.formatted-version} 도 확인 가능
${application.version} 출력 시, pom.xml에 명시한 version 정보가 출력됨
③ Banner 클래스 구현 및 SpringApplication.setBanner()로 설정
src/main/resources에 banner 파일이 있으면 setBanner() 보다 파일이 우선시 됨
/* 아래 lambda로 표현한 코드와 동일
app.setBanner(new Banner() {
@Override
public void printBanner(Environment environment, Class<?> sourceClass, PrintStream out) {
out.println("=================");
out.println("setBanner Test");
out.println("=================");
}
});
*/
app.setBanner((environment, sourceClass, out) -> {
out.println("=================");
out.println("setBanner Test");
out.println("=================");
});
④ 배너 끄기
app.setBannerMode(Banner.Mode.OFF);
5. SpringApplicationBuilder로 빌더 패턴 사용 가능
SpringApplicationBuilder 역시 .banner()로 배너 설정 가능
/* 아래 lambda로 표현한 코드와 동일
.banner(new Banner() {
@Override
public void printBanner(Environment environment, Class<?> sourceClass, PrintStream out) {
out.println("=================");
out.println("printBanner Test");
out.println("=================");
}
})
*/
.banner((environment, sourceClass, out) -> {
out.println("=================");
out.println("printBanner Test");
out.println("=================");
})
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8/dashboard
스프링 부트 개념과 활용 - 인프런 | 강의
스프링 부트의 원리 및 여러 기능을 코딩을 통해 쉽게 이해하고 보다 적극적으로 사용할 수 있는 방법을 학습합니다., - 강의 소개 | 인프런...
www.inflearn.com
Core Features
Spring Boot lets you externalize your configuration so that you can work with the same application code in different environments. You can use a variety of external configuration sources, include Java properties files, YAML files, environment variables, an
docs.spring.io
'Java > Spring Boot' 카테고리의 다른 글
[Spring Boot] Log Level (0) | 2022.03.13 |
---|---|
[Spring Boot] Application Events and Listener (0) | 2022.03.13 |
[Spring Boot] 독립적으로 실행 가능한 JAR (0) | 2022.03.05 |
[Spring Boot] 내장 웹 서버 응용 - HTTPS와 HTTP2 (0) | 2022.03.05 |
[Spring Boot] 내장 웹 서버 응용 - 다른 웹 서버 사용하기 / 웹 서버 사용하지 않기 / 포트 변경하기 (0) | 2022.03.05 |