Spring에서 속성 파일properties 읽기 및 사용 설명

3301 단어 Springproperties
Spring에서 속성 파일properties 읽기 및 사용 설명
실제 프로젝트에서는 일반적으로 설정 가능한 맞춤형 정보를 속성 파일(예를 들어 데이터베이스 연결 정보, 메일 발송 설정 정보 등)에 넣으면 통일된 설정 관리에 편리하다.예를 들어, 속성 파일/WEB-INF/configInfo에 구성할 속성 정보를 배치합니다.properties 중.
일부 구성 정보(메일 발송 관련):

# 
email.host = smtp.163.com
email.port = xxx
email.username = xxx
email.password = xxx
email.sendFrom = [email protected]

Spring 용기를 시작할 때 속성 파일 정보를 내장 bean으로 불러옵니다. bean.xml에 다음을 추가합니다.
Xml 코드


<!-- spring , properties  -->
 <bean id="propertyConfigurer"
 class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
 <property name="location">
  <value>/WEB-INF/configInfo.properties</value>
 </property>
 <property name="fileEncoding" value="utf-8" />
 </bean>

속성 정보를 불러온 후 그 중 하나는 다른 bean 정의에서 속성 정보의 key에 따라 value를 인용하는 것입니다. 예를 들어 메일 발송기 bean의 설정은 다음과 같습니다.
Xml 코드

<!--   -->
 <bean id="mailSender"
 class="org.springframework.mail.javamail.JavaMailSenderImpl">
 <property name="host">
  <value>${email.host}</value>
 </property>
 <property name="port">
  <value>${email.port}</value>
 </property>
 <property name="username">
  <value>${email.username}</value>
 </property>
 <property name="password">
  <value>${email.password}</value>
 </property>
 <property name="javaMailProperties">
  <props>
  <prop key="mail.smtp.auth">true</prop>
  <prop key="sendFrom">${email.sendFrom}</prop>
  </props>
 </property>
 </bean>

또 다른 사용 방법은 코드에서 설정된 속성 정보를 가져오는 것입니다. javabean:ConfigInfo를 정의할 수 있습니다.java, 주석을 이용하여 코드에 필요한 속성 정보를 주입하기;속성 파일에 다음과 같은 정보가 있으면 코드에서 사용할 수 있습니다.
Java 코드

# 
file.savePath = D:/test/
# , 
file.backupPath = D:/test bak/

ConfigInfo.java의 대응 코드:
Java 코드


@Component("configInfo")
public class ConfigInfo {
  @Value("${file.savePath}")
  private String fileSavePath;

  @Value("${file.backupPath}")
  private String fileBakPath;
    
  public String getFileSavePath() {
    return fileSavePath;
  }

  public String getFileBakPath() {
    return fileBakPath;
  }  
}

비즈니스 클래스 bo에서 메모를 사용하여 ConfigInfo 객체를 주입합니다.
Java 코드

 

@Autowired
private ConfigInfo configInfo;
bean에 필요합니다.xml에 구성 요소 스캐너를 추가하여 주석 방식의 자동 주입에 사용합니다.
Xml 코드

<context:component-scan base-package="com.my.model" />
(위 패키지 모델에는 ConfigInfo 클래스가 포함되어 있습니다.)
get 방법을 통해 대응하는 속성 정보를 얻을 수 있는데 장점은 코드에서 사용하기 편리하다는 것이다. 단점은 코드에서 새로운 속성 정보를 사용해야 한다면 ConfigInfo를 사용해야 한다는 것이다.java는 상응하는 추가 수정을 합니다.
읽어주셔서 감사합니다. 여러분에게 도움이 되었으면 좋겠습니다. 본 사이트에 대한 지지에 감사드립니다!

좋은 웹페이지 즐겨찾기