当前位置:编程学习 > JAVA >>

注入Resource

Spring提供了一个PropertyEditor “ResourceEditor”用于在注入的字符串和Resource之间切换。因此可以使用注入方式注入Resource.
 
ResourceEditor完全使用ApplicationContext根据注入的路径字符串来注入Resource.
 
Bean:
 
 
[java]  
package com.feng.spring.chapter2.helloworld;  
  
import org.springframework.core.io.Resource;  
  
public class ResourceBean3 {  
    private Resource resource;  
    public Resource getResource(){  
        return resource;  
    }  
    public void setResource(Resource resource) {  
        this.resource = resource;  
    }  
      
}  
配置文件helloworld.xml
 
[html]  
<?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"    
xsi:schemaLocation="    
http://www.springframework.org/schema/beans        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd    
http://www.springframework.org/schema/context                http://www.springframework.org/schema/context/spring-context-3.0.xsd">    
  <!-- id 表示你这个组件的名字,class表示组件类 -->    
<bean id="resourceBean1" class="com.feng.spring.chapter2.helloworld.ResourceBean3">  
    <property name="resource" value="com/feng/spring/chapter2/helloworld/test1.properties"></property>  
</bean>  
  
</beans>   
 
测试代码:
 
[java]  
package com.feng.spring.chapter2.helloworld;  
  
import junit.framework.Assert;  
  
import org.junit.Test;  
import org.springframework.context.ApplicationContext;  
import org.springframework.context.support.ClassPathXmlApplicationContext;  
import org.springframework.core.io.ClassPathResource;  
  
  
public class HelloTest {  
        @Test  
        public void test(){  
            ApplicationContext ctx = new ClassPathXmlApplicationContext("chapter2/helloworld.xml");  
            ResourceBean3 resourceBean1 = ctx.getBean("resourceBean1",ResourceBean3.class);  
            Assert.assertTrue(resourceBean1.getResource() instanceof ClassPathResource);    
        }  
}  
 
补充:软件开发 , Java ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,