Spring

Spring/boot

[Spring-boot] Profile 설정

프로파일(@Profile) Spring 사용시 환경에 맞는 설정 파일을 @Profile() 애노테이션을 통해 Product 환경과 Test 환경에서 사용할 Config 파일들을 구분 할 수 있었다. Spring-boot 에서도 마찬같이로 똑같이 기능을 사용할 수 있다. @Profile("test") @Configuration public class TestConfig { @Bean String hello(){ return "TestConfig"; } } @Profile("product") @Configuration public class ProductConfig { @Bean String hello(){ return "ProductConfig"; } } 위와 같이 2개의 Config 파일이 존재 할때 실..

Spring/boot

[Spring-boot] 외부설정 2부

외부설정 2부 앞에서 살펴봤던 외부프로퍼티에 대한 바인딩은 전혀 Type safe 하지 않다. @Value("${test.projectName}") String projectName; @Value("${test.version}") int version; @Value("${test.projectNameAndVersion}") String projectNameAndVersion; @Value("${~~}") 안에 적는 외부 properties 의 key 값이 정확히 일치 해야 해당 변수에 바인딩 된다. 이러한 경우 대신 자바 bean 스펙을 이용하여 객체에 직접 바인딩을 해줄 수 있다. 해당 prefix 값을 기억하자. 그리고 바인딩 받을 수 있는 class 를 하나 만들자. (프로퍼티 를 주입받기 위해선 ..

Spring/boot

[spring-boot] 외부설정(application.properties)

spring-boot-study [ Inflearn ] 스프링 부트 개념과 활용 강의를 듣고 챕터별 간단하게 정리합니다. 내용적 오류가 존재할 수 있으며 부족한 부분은 언제든지 지적해주시면 감사드립니다. 외부 설정(application.properties) 이번 챕터에서는 application.properties의 우선순위와 사용방법을 알아볼 것이다. 프로퍼티(properties)의 정의는 단순한 Key와 Value로 형태로 제공하는 Data이다. 프로퍼티 우선순위 spring-boot-devtools를 활성화시켰을 때 $HOME/. config/spring-boot 안에서 제공하는 프로퍼티 테스트에 사용한 @TestPropertySource가 제공하는 프로퍼티 @SpringBootTest 또는 슬라이스..

Spring/boot

[Spring-boot] ApplicationEvent 등록

spring-boot-study [ Inflearn ] 스프링 부트 개념과 활용 강의를 듣고 챕터별 간단하게 정리합니다. 내용적 오류가 존재 할 수 있으며 부족한 부분은 언제든지 지적해주시면 감사드립니다. ApplicationEvent 등록 Spring core 부분을 공부하면서 ApplicationContext Interface 가 상속 받은 Interface 중에 ApplicationEventPublisher 를 상속 받고 있다는 것을 알고 있다. 그러면 ApplicationEventPublisher 의 역할은 무엇을 하는 것일까 ? ApplicationEventPublisher 은 옵저버 패턴의 구현체로 이벤트 프로그래밍에 필요한 기능을 제공한다. 예를 들어보자. public class Member..

Spring/boot

[Spring-boot] 자동설정 2부

spring-boot-study [ Inflearn ] 스프링 부트 개념과 활용 강의를 듣고 챕터별 간단하게 정리합니다. 내용적 오류가 존재 할 수 있으며 부족한 부분은 언제든지 지적해주시면 감사드립니다. 5. 자동 설정 만들기 2부(자동설정 1 부와 이어지는 글 입니다) 그럼 여기서 하나의 의문이 생긴다. AutoConfiguration 으로 등록되는 빈은 수정이 되지 않는가? -> 일단은 그렇지 않다. 얼마든지 사용자가 커스텀을 통해 객체를 수정 할 수 있다. 다만 몇 가지의 설정이 필요하다. 일단 Bean을 오버라이딩 하여 기본 프로젝트에서 재정의 해보자. @SpringBootApplication public class DemoApplication { public static void main(St..

Spring/boot

[Spring-boot] 자동설정 1부

spring-boot-study [ Inflearn ] 스프링 부트 개념과 활용 강의를 듣고 챕터별 간단하게 정리합니다. 내용적 오류가 존재 할 수 있으며 부족한 부분은 언제든지 지적해주시면 감사드립니다. 이 챕터에서 하고자하는 것 1-1. spring-boot 가 실행될때 AutoConfigure를 이용하여 외부 프로젝트에서 설정한 Bean을 자동으로 주입받아 사용하는 것이 주된 목표이다. 시작 2-1. Starter 와 AutoConfigure 의 네이밍 패턴은 다음과 같다. Naming patterns 의미 Xxx-spring-boot-autoconfigure 자동 설정 Xxx-spring-boot-starter 필요한 의존성 정의 그냥 하나로 만들고 싶을 때는 Xxx-spring-boot-star..

Spring/boot

[Spring-boot] 자동설정의 이해

spring-boot-study [ Inflearn ] 스프링 부트 개념과 활용 강의를 듣고 챕터별 간단하게 정리합니다. 내용적 오류가 존재 할 수 있으며 부족한 부분은 언제든지 지적해주시면 감사드립니다. 3. 자동설정의 이해 Spring boot 을 실행 할때 우리는 @SpringBootApplication 애노테이션이 붙은 클래스를 찾아가서 실행을한다. @SpringBootApplication 이라는 애노테이션 만으로 webApplication 을 구동 시킬수있다.* 어떻게 @SpringBootApplication 이라는 애노테이션만으로 많은 자동설정을 할 수 있을까? @SpringBootApplication 애노테이션을 알아보자 여기서 핵심은 @SpringBootConfiguration @Enabl..

Spring/boot

[Spring-boot] 의존성 이해와 응용

spring-boot-study [ Inflearn ] 스프링 부트 개념과 활용 강의를 듣고 챕터별 간단하게 정리합니다. 내용적 오류가 존재 할 수 있으며 부족한 부분은 언제든지 지적해주시면 감사드립니다. 1. 의존성 관리 이해 스프링부트는 어떻게 해서 수 많은 의존성을 자동으로 가져올까? 정의한 의존성은 다음과 같이 2가지만 정의 되어 있고 의존성을 정의할때 버전도 쓰지 않는다. 그 이유는 다음과 같다. Spring boot 는 parent 폼에 스프링 boot 에서 사용할 의존성들이 이미 모든 버전이 서로 호환성이 맞도록 명시가 되어 있다. * 버전에 맞는 의존성을 이미 명시가 되어있음* 이러한 의존성 관리를 자동으로 해줌으로써 개발자가 관리해야하는 의존성이 줄어들게된다. 2. 의존성 관리 응용 의존..

jay Joon
'Spring' 카테고리의 글 목록 (3 Page)