본문 바로가기
728x90
반응형

Dev/Spring Boot49

[스프링 부트 개념과 활용] 프로파일 @Profile 이란 스프링 프레임워크에서 제공하는 어떤 특정한 환경에 따른 설정값을 달리 적용하는 것. 각 Profile 은 각각 다른 설정이나 각각 Bean 을 정의한다. 빌드 시 원하는 Profile 에 맞춰 빌드할 수 있다. @Profile 예시 개발 환경과 배포 환경의 각기 다른 Profile 을 생성한다. // BaseConfiguraion.java @Profile("prod") @Configuration public class BaseConfiguration { @Bean public String hello() { return "hello"; } } // TestConfiguraion.java @Profile("test") @Configuration public class TestConfig.. 2020. 8. 24.
[스프링 부트 개념과 활용] 외부 설정 2부 @Type-Safe Configuration Properties 같은 키로 시작하는 외부 설정이 많은 경우 설정들을 묶어서 하나의 Bean 으로 등록 // application.properties // 같은 키(jsk) 로 된 설정을 묶어 하나의 Bean으로 등록 가능 jsk.name=Jinseo jsk.age=${random.int(1,100)} jsk.fullname=${jsk.name} Kim // pom.xml // dependency 추가 // 프로젝트 빌드 시 메타정보를 생성해 주는 플러그인 org.springframework.boot spring-boot-configuration-processor true // JinseoProperties.java @Component// Bean 등록 @C.. 2020. 8. 24.
[스프링 부트 개념과 활용] 외부 설정 1부 외부 설정 파일 Application에서 사용하는 여러가지 설정값들을 Application의 밖 또는 안에다가 정의할 수 있는 파일 사용할 수 있는 외부 설정 .properties YAML 환경 변수 Command Line Arguments Properties application.properties : 스프링 부트가 Application을 구동할때 자동으로 로딩하는 파일 // application.properties jinseo.name=jinseo @Component @Order(1) public class SampleRunner implements ApplicationRunner { @Value("${jinseo.name}") private String name; @Override public vo.. 2020. 8. 21.
[스프링 부트 개념과 활용] SpringApplication 2부 ApplicationEvent 다양한 시점의 ApplicationEvent 존재 ApplicationContext를 만들기 전에 사용하는 리스너는 @Bean으로 등록할 수 없다. 왜냐하면 SpringApplication.addListeners()를 통해 해당 리스너를 생성하기 때문이다. 예제 1. ApplicationContext 생성 이전 // SampleListener.java // ApplicationStartingEvent 사용 public class SampleListener implements ApplicationListener { @Override public void onApplicationEvent(ApplicationStartingEvent event) { System.out.print.. 2020. 8. 20.
[스프링 부트 개념과 활용] SpringApplication 1부 SpringApplication SpringApplication 인스턴스를 만들어 run을 하는 방법으로 구현하면 다양한 커스터마이징 기능을 사용가능 // Application.java @SpringBootApplication public class Application { public static void main(String[] args) { // 기본 // SpringApplication.run(Application.class, args); // 인스턴스 생성하여 사용 SpringApplication app = new SpringApplication(Application.class); app.run(); } } Log 기본 로그 레벨은 INFO, 디버그 모드 동작 시 DEBUG 레벨까지 로그 표시 .. 2020. 8. 20.