spring 3.1.13中新增的util @value注解,给类或方法注入值

时间:2023-03-09 01:44:35
spring 3.1.13中新增的util @value注解,给类或方法注入值

在spring 3.0以上版本中,可以通过使用@value,对一些如xxx.properties文件 ,进行键值对的注入,例子如下:

一、类变量注入



1 首先在applicationContext.xml中加入: 

   <beans xmlns:util="http://www.springframework.org/schema/util"  

    xsi:schemaLocation="http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd">  

</beans>   

   的命名空间,然后 



2 在applicationContext.xml命名空间下引用util配置:

<util:properties id="settings" location="WEB-INF/classes/META-INF/spring/myconf.properties"
/>  



3 创建属性-属性值文件myconf.properties ,内容如下:

parentUrlStr= "http://test.baba.com/api/allurl"

urlPre = "http://test.baba.com/api/searchinfo/"



4 类中引用key的value值

public class InitiaSolrDataController {

private String parentUrlStr;

    private String urlPre;

@Value("#{settings['parentUrlStr']}") 

public void setParentUrlStr(String parentUrlStr) {

this.parentUrlStr = parentUrlStr;

}

    

    @Value("#{settings['urlPre']}")  

public void setUrlPre(String urlPre) {

this.urlPre = urlPre;

}

.......................

.............................

}

通过set方法注入parentUrlStr和urlPre的值,启动web应用,就能看到spring注入了值。



二、方法参数值注入

  1. @Value("#{settings['parentUrlStr']}") String parentUrlStr,
  2. @Value("#{settings['urlPre']}") String urlPre,