spring에서 @value 주석에 주의해야 할 문제

1706 단어 spring주해
우선, @value는 매개 변수가 필요합니다. 여기 매개 변수는 두 가지 형식이 될 수 있습니다. @Value("#{configProperties['t1.msgname']}") 또는 @Value("${t1.msgname}")입니다.
그 다음에 이 두 가지 형식을 어떻게 사용하는지, 구성에 있어서 어떤 차이가 있는지 살펴보자.
1. @Value("#{configProperties['t1.msgname']}") 이 형식의 구성에는 "configProperties"이 있습니다. 이 구성에는 다음과 같은 구성 파일의 로드 객체가 지정됩니다.

<bean id="configProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
   <property name="locations">
     <list>
       <value>classpath:/config/t1.properties</value>
     </list>
   </property>
 </bean> 
이렇게 설정하면 속성에 대한 구체적인 주입을 완성할 수 있다.
2. @Value("${t1.msgname}") 이런 형식은 구체적인 불러오는 대상을 지정할 필요가 없다. 이때 관건적인 대상을 완성해야 한다PreferencesPlaceholderConfigurer. 이 대상의 설정은 상기 설정 1의 설정을 이용할 수도 있고 프로필 경로를 스스로 정할 수도 있다.
구성 1의 구성을 사용하는 경우 다음과 같이 쓸 수 있습니다.

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">
    <property name="properties" ref="configProperties"/>
 </bean> 
구성 파일을 직접 지정하면 다음과 같이 쓸 수 있습니다.

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">
    <property name="location">
    <value>config/t1.properties</value>
    </property>
  </bean> 
이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되고 저희를 많이 응원해 주십시오.

좋은 웹페이지 즐겨찾기