Spring中@ImportResource和@Value加载资源文件
来源:互联网 发布:淘宝晚礼服 编辑:程序博客网 时间:2024/05/01 00:38
讲注解之前,我们首先来看看用xml如何加载资源文件
<beans>
<context:annotation:config/>
<context:property-placeholder location="classpath:/com.acme/jdbc.properties"/>
<bean class="com.acme.pro">
<property name="url" value=“$(jdbc.url)”>
</bean>
</beans>
context:property-placeholder 这个表明加载哪个资源文件,value=“$(jdbc.url)”则是加载资源文件里面的值
实际上我们也可以通过@ImportResource和@Value来加载资源文件
这里我们举一个例子,创建一个实现类,中间类,测试类,config.xml,config配置文件
config.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"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd" >
<context:property-placeholder location="classpath:/jdbc.properties"/>
<context:component-scan base-package="com.imooc.beanannotation"></context:component-scan>
</beans>
实现类:
public class MyDriveManager {
public MyDriveManager(String url,String username,String password)
{
System.out.println("url:"+url);
}
}
中间类:
package com.imooc.beanannotation;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.ImportResource;
@Configuration
@ImportResource("classpath:config.xml")
public class StoreConfig {
@Value("$(jdbc.url)")
private String url;
private String username;
private String password;
@Bean
public MyDriveManager myDriveManager()
{
return new MyDriveManager(url,username,password);
}
}
测试类:
package com.imooc.beanannotation;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestConfig {
public static void main(String[] args) {
ApplicationContext ctx=new ClassPathXmlApplicationContext("config.xml");
MyDriveManager myDriveManager=ctx.getBean("myDriveManager",MyDriveManager.class);
}
}
这里还有一点要特别说明的,在properties中最好写 jdbc.username 直接写username会使用计算机名
- Spring中@ImportResource和@Value加载资源文件
- @ImportResource导入文件、@Value
- Spring 中加载资源文件
- Spring 中加载资源文件
- Spring 中加载资源文件
- Spring Bean装配之基于Java的容器注解说明——@ImportResource和@Value
- Spring Bean装配--基于java容器的注解说明@ImportResource和@Value
- Spring入门(基于Java的容器注解之@ImportResource和@Value)
- Spring入门——Spring Bean装配之基于Java的容器注解说明@ImportResource和@Value
- spring加载资源文件
- spring加载资源文件
- SPRING 加载资源文件
- spring 加载资源文件
- IOC_@ImportResource@Value
- 基于java容器注解说明---@Value和@ImportResource
- spring加载资源文件中classpath*与classpath的区别
- Spring中加载外部资源文件的几种方式
- spring和java国际化资源文件加载顺序
- 监听CollaspingToolbarLayout折叠完成事件
- 先立好flag
- 安卓开发调试过程中出现的问题
- vs2015新建mvc的空模版项目
- 【codevs 1369】题解
- Spring中@ImportResource和@Value加载资源文件
- retrace 解析混淆代码
- 两个序列组合成最大的数Create Maximum Number
- 求视差图
- POJ-1840 Eqs
- 第五周 项目1(5)
- java实现队列数据结构
- 第三周项目:本月有几天?
- TimesTen数据库的备份和恢复