当前位置:   article > 正文

Spring加载Properties配置文件,java通过注解读取数据_注解通过${}取值

注解通过${}取值

 1、用法示例: 在springMVC.xml配置文件中添加标签

(推荐用这个,这个用的比较多,也比较简洁)

<context:property-placeholder location="classpath:salesman.properties"/>

 加载多个

<context:property-placeholder location="classpath:*.properties"/>

在Java中使用这个@Value("${ }")注解 读取 properties中的参数

  1. @Value("${filePath}")
  2. private String filePath;
  3. public void setFilePath(String filePath) {
  4. System.out.println(filePath);
  5. this.filePath = filePath;
  6. }

 在其他配置文件中使用 ${ } 读取 properties中的参数

  1. <bean id="cronTrigger_1" class="org.springframework.scheduling.quartz.CronTriggerBean">
  2. <property name="jobDetail">
  3. <ref bean="SMSSDetail_1" />
  4. </property>
  5. <!-- 每一秒钟执行一次 -->
  6. <property name="cronExpression">
  7. <value>${SMSSCHEDUlERTIME}</value>
  8. </property>
  9. </bean>

 2.方式是使用注解的方式注入,主要用在java代码中使用注解注入properties文件中相应的value值 ,

   注意:变量不能用static修饰;

  1. <!-- 第二种方式是使用注解的方式注入,主要用在java代码中使用注解注入properties文件中相应的value值 -->
  2. <bean id="PropertiesFactory" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
  3. <property name="locations"><!-- 这里是PropertiesFactoryBean类,它也有个locations属性,也是接收一个数组,跟上面一样
  4. <array>
  5. <value>classpath:salesman.properties</value>
  6. </array>
  7. </property>
  8. <property name="fileEncoding" value="UTF-8"/>
  9. </bean>
  10. @Component("fileUpload")
  11. public class FileUploadUtil implements FileUpload {
  12. @Value("#{PropertiesFactory.filePath}")
  13. private String filePath;
  14. //@Value表示去beans.xml文件中找id="PropertiesFactory"的bean,它是通过注解的方式读取properties配置文件的,然后去相应的配置文件中读取key=filePath的对应的value
  15. public void setFilePath(String filePath) {
  16. System.out.println(filePath);
  17. this.filePath = filePath;

 3.扫描多个配置文件,把需要扫描的文件放在新建的conf文件下:

在D:\Project\tc_vsmp\src-main-resources\applicationContext.xml 文件中配置bean 扫描

  1. <bean id="prop" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
  2. <property name="locations">
  3. <array>
  4. <value>classpath:conf/*</value>
  5. </array>
  6. </property>
  7. <property name="fileEncoding" value="UTF-8"/>
  8. </bean>

java类读取:

  1. public class SMSScheduler {
  2. /**
  3. *
  4. @Autowired
  5. private LoanQueryService service;
  6. /**
  7. *
  8. */
  9. @Value("#{prop.TIMEDPUSHDAY}")
  10. public String TIMEDPUSHDAY;
  11. /**
  12. *
  13. */
  14. @Value("#{prop.SMSSCHEDUlER_JINXING_IPHONENUM}")
  15. public String SMSSCHEDUlER_JINXING_IPHONENUM;

在配置文件中读取:

  1. <bean id="cronTrigger_1" class="org.springframework.scheduling.quartz.CronTriggerBean">
  2. <property name="jobDetail">
  3. <ref bean="SMSSDetail_1" />
  4. </property>
  5. <!-- 每一秒钟执行一次 -->
  6. <property name="cronExpression">
  7. <value>#{prop.SMSSCHEDUlERTIME}</value>
  8. </property>
  9. </bean>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/939225
推荐阅读
相关标签
  

闽ICP备14008679号