본문 바로가기
  • 일하면서 배운 내용 끄적이는 블로그
Spring

@Configuration, @PropertySource 어노테이션

by dhl7799 2024. 3. 13.
@Configuration
@PropertySource({"classpath:/properties_파일경로", "classpath:/properties_파일경로"})
public class TestConfig {

}

 

@Configuration

스프링에서 스프링 빈을 관리하는 설정 방식에는 XML과 JavaConfig 두가지 방식이 존재

설정파일을 만들기 위한 어노테이션 or Bean을 등록하기 위한 어노테이션

선언하게 되면 해당 자바클래스는 스프링 설정을 담당하는 클래스가 된다.

스프링 컨테이너에서 Bean을 관리할 수 있게 된다.

Bean을 등록할 때 싱글톤이 되도록 보장한다.

(@Bean 태그는 빈 등록은 되는데 싱글톤 보장이 안된다고 함)

 

@PropertySource

스프링 프로젝트를 하다보면 jdbc 설정값, version 등과 같이 정적인 데이터를 많이 사용하는데

클래스 내부에 선언하게 되면 변경 시 재 빌드 해야하고 소스 코드를 공유할때 민감한 정보까지 공유될 수 있다.

따라서 설정정보를 따로 분리하고 불러오는 방식을 사용할때 쓰임

( ) 안에 경로를 넣으면 되고 여러개를 불러올땐 배열을 넣어주면 된다.

경로는 src/main/resources 이후 부터 경로를 입력하면 되는것으로 보인다.

사용하게 되면 Environment 객체에 프로퍼티 값이 자동으로 주입된다.

@Autowired
private Environment environment;

 

여기서 environment.getProperty()로 값을 가져올 수 있다

 

예시)

System.out.println(environment.getProperty("system.timezone"));

//결과: Asia/Seoul

'Spring' 카테고리의 다른 글

@Qualifier  (0) 2024.03.13
Model & ModelAttribute & RequestParam & PathVariable  (0) 2024.03.07
DTO, DAO, ConnectionPool, DataSource  (0) 2024.02.28
Spring Framework 기본개념  (0) 2024.02.28