[SPRING] @Value 주석과 환경 API의 차이점은 무엇입니까?
SPRING@Value 주석과 환경 API의 차이점은 무엇입니까?
@Value 주석이있는 클래스의 필드를 삽입하는 것과 Spring Environment API를 사용하여 필드를 찾는 것 사이에 중요한 차이점이 있습니까? 하나는 다른 것보다 (그리고 어떤 상황에서) 선호됩니까?
@Value 사용 예제 :
class Config {
@Value("${db.driverClassName}")
private String driverClassName;
@Value("${db.url}")
private String url;
@Value("${db.username}")
private String username;
@Value("${db.password}")
private String password;
@Bean
public javax.sql.DataSource dataSource(){
PoolProperties poolProperties = new PoolProperties();
poolProperties.setDriverClassName(driverClassName);
poolProperties.setUrl(url);
poolProperties.setUsername(username);
poolProperties.setPassword(password);
return new org.apache.tomcat.jdbc.pool.DataSource(poolProperties);
}
}
환경 API 사용 예제 :
class Config {
@Autowired
private Environment environment;
@Bean
public javax.sql.DataSource dataSource(){
PoolProperties poolProperties = new PoolProperties();
poolProperties.setDriverClassName(environment.getProperty("db.driverClassName"));
poolProperties.setUrl(environment.getProperty("db.url"));
poolProperties.setUsername(environment.getProperty("db.username"));
poolProperties.setPassword(environment.getProperty("db.password"));
return new org.apache.tomcat.jdbc.pool.DataSource(poolProperties);
}
}
해결법
-
==============================
1.환경은 프로필과 속성의 조합입니다.
환경은 프로필과 속성의 조합입니다.
프로파일은 사용자 환경에 따라 활성화되거나 비활성화 될 수있는 이름 지정된 bean 정의의 논리적 그룹입니다. 빈은 XML 또는 주석으로 정의 된 프로파일에 할당 될 수 있습니다. 예를 들어. 개발 모드와 프로덕션 모드에 대해 하나의 프로파일을 가질 수 있습니다. 여기에서 @Profile에 대한 문서를 검색하여 자세한 내용을 볼 수 있습니다.
환경 워드 프로세서 인용하기 :
해당 정보에 액세스해야하는 경우가 아니면 $ {..} 형식 및 @Value 주석이있는 자리 표시 자 표기법을 사용해야합니다. 다시 한 번, 문서 인용 :
요약하면 다음과 같습니다.
from https://stackoverflow.com/questions/26897314/differences-between-value-annotation-and-the-environment-api by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring 5 Webflux 기능 끝점 - 입력 유효성 검사를 수행하는 방법? (0) | 2019.04.17 |
---|---|
[SPRING] 어떻게 클래스 내에서 Jpa 저장소를 동적으로 생성합니까? (0) | 2019.04.17 |
[SPRING] IntelliJ와 스프링 통합 (0) | 2019.04.17 |
[SPRING] Resteasy로 여러 끝점 제공 (0) | 2019.04.17 |
[SPRING] 봄 AMQP v1.4.2 - 네트워크 실패시 토끼 재접속 문제 (0) | 2019.04.17 |