개발을 할 때, Property 파일을 resource 폴더 내에 만들어 두고 필요할 때 해당 값을 많이 읽어옵니다. 주로 데이터베이스 연결 설정이나 Property 파일의 속성을 주입할 때 사용합니다.
즉, @PropertySource 어노테이션을 통해 외부의 설정 파일(.properties, .yml)을 읽어와 해당 정보를 사용할 수 있게 됩니다.
이제 @PropertySource, @Value에 대해 간단하게 설명 드리도록 하겠습니다.
@PropertySource("value = "classpath:allergy.properties")
- classpath:allergy.properties 경로에 있는 설정 파일을 읽어옵니다.
- Environment 객체를 이용해서 해당 설정 값을 가져올 수 있습니다.
- 코드와 설정을 분리하기에 유지보수성이 높아집니다.
- Java 8 이상에서는 해당 어노테이션을 여러 개 사용할 수 있습니다.
- @PropertySources 어노테이션을 통해 @PropertySource 어노테이션을 배열 형식으로 담을 수 있고, 따로 쓰는 것도 가능합니다.
@Value("#{${allergenicIngredientsMap}}")
- 프로퍼티 값을 주입하는데 사용하는 어노테이션
- 프로퍼티 소스가 Spring Environment로 갖고 온 값 중에서 동적으로 allergenicIngredientsMap을 읽어와서, allergenicIngredients 변수에 매핑을 시켜줍니다.
- 해당 변수를 통해 allergenicIngredientsMap의 값에 대해 접근할 수 있게 됩니다.
<참고 자료>
http://ojc.asia/bbs/board.php?bo_table=LecSpring&wr_id=860
'Java > Spring' 카테고리의 다른 글
[Java] ProcessBuilder (1) | 2024.04.02 |
---|---|
[Spring] Lightsail 배포 서버에서 Spring Application 실행 시, Encoding UTF-8 인식을 하지 못하고 한글이 깨지는 현상 (1) | 2023.11.25 |
[Spring] JPA Auditing 기술을 사용하여 생성일자, 수정일자 컬럼의 데이터 형식을 깔끔하게 지정하는법 (0) | 2023.11.24 |
[Spring] DTO, VO 이 둘의 차이에 대해 알아보자 (2) | 2023.11.17 |
[Spring] 웹 애플리케이션과 영속성 관리 (0) | 2023.11.14 |