自动注入properties文件 @Value的使用

来源:互联网 发布:加工中心手动编程范例 编辑:程序博客网 时间:2024/06/05 16:22

1. 因为在下面要用到Spring的<util />配置,所以,首先要引入其对应的命名空间,即要在applicationContext.xml中加入以下的配置:

Xml代码  
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xmlns:context="http://www.springframework.org/schema/context"       xmlns:util="http://www.springframework.org/schema/util"       xsi:schemaLocation="http://www.springframework.org/schema/beans                        http://www.springframework.org/schema/beans/spring-beans-4.1.xsd                        http://www.springframework.org/schema/context                        http://www.springframework.org/schema/context/spring-context-4.1.xsd                        http://www.springframework.org/schema/util                        http://www.springframework.org/schema/util/spring-util-4.1.xsd">


2.既然要让Spring使用注解来自动注入,则要让其去对自己的配置的类进行注解组件的扫描,则需要配置如下(根据自己的路径进行修改配置):

Xml代码  
<context:component-scan base-package="com.*******.landpage"/>


3. 创建一个资源文件,具体为止视自己的项目而定,我的文件放在 ftp.properties,内容如下:

Java代码 

4. 让Spring载入资源文件,在applicationContext.xml 加入以下配置:

Xml代码
<util:properties id="ftp" location="classpath:ftp.properties"/>

  

5. 创建java文件,让Spring注入从资源文件中读取到的属性的值:

Java代码 
    @Value("#{ftp['ftp.ip']}")    private String ip;    @Value("#{ftp['ftp.port']}")    private int port;


 注意:这里的#{ftp} 是与第四步的id=ftp相对应的

 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:util="http://www.springframework.org/schema/util"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
                        http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
                        http://www.springframework.org/schema/context
                        http://www.springframework.org/schema/context/spring-context-4.1.xsd
                        http://www.springframework.org/schema/util
                        http://www.springframework.org/schema/util/spring-util-4.1.xsd">

    <context:component-scan base-package="com.sunlands.landpage"/>


    <context:property-placeholder
            location="classpath:jdbc.properties,classpath:redis.properties,classpath:263.properties,classpath:mail.properties"
            ignore-unresolvable="true"/>

    <util:properties id="app" location="classpath:appconfig.properties"/>
    <util:properties id="ftp" location="classpath:ftp.properties"/>

    <import resource="classpath:spring/applicationContext-dataSource.xml"/>
    <import resource="classpath:spring/applicationContext-dao.xml"/>
    <import resource="classpath:spring/applicationContext-service.xml"/>
    <import resource="classpath:spring/applicationContext-task.xml"/>
    <import resource="classpath:spring/cache-applicationContext.xml"/>
    <import resource="classpath:spring/applicationContext-security.xml"/>

</beans>

原创粉丝点击