过去一直在用properties与spring的placeHolder
最近3.0有新玩意 试试看了哦
简单用了哈 spring EL
1.这个代码 最为系统的配置文件 替代
package net.xingbo.xu;
import org.springframework.stereotype.Service;
/**
* Created by IntelliJ IDEA.
* QQ:15221860
* MAIL:xb.xu@northking.net
* User: 徐兴波
* Date: 2009-10-29
* Time: 20:10:01
* To change this template use File | Settings | File Templates.
*/
@Service(value = "systemProperties")
public class SysConfig {
private String DB_TYPE="mysql";
public String getDB_TYPE() {
return DB_TYPE;
}
public void setDB_TYPE(String DB_TYPE) {
this.DB_TYPE = DB_TYPE;
}
}
2.这个类使用系统配置文件
package net.xingbo.xu;
import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Value;
/**
* Created by IntelliJ IDEA.
* QQ:15221860
* MAIL:xb.xu@northking.net
* User: 徐兴波
* Date: 2009-10-29
* Time: 20:10:56
* To change this template use File | Settings | File Templates.
*/
@Service(value = "userBean")
public class UserBean {
//这里注入systemProperties系统bean的名字,做架构可以让项目配置此bean,框架使用;
@Value("#{systemProperties.DB_TYPE}")
private String dbType;
public String getDbType() {
return dbType;
}
public void setDbType(String dbType) {
this.dbType = dbType;
}
}
3.spring配置文件,以后想办法这个也不要
<?xml version="1.0" encoding="UTF-8"?>
<!-- author zhouyh -->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd" default-lazy-init="false" >
<!--<import resource="baseSpringContext-aspectj.xml"/>-->
<context:component-scan base-package="net.xingbo.xu" />
</beans>
4.测试代码
package net.xingbo.xu;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.test.com.bobo.TestBean;
/**
* Created by IntelliJ IDEA.
* QQ:15221860
* MAIL:xb.xu@northking.net
* User: 徐兴波
* Date: 2009-10-29
* Time: 20:13:47
* To change this template use File | Settings | File Templates.
*/
public class Test {
@org.junit.Test
public void xx() {
ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
UserBean userBean = (UserBean) context.getBean("userBean");
System.out.println(userBean.getDbType());
}
}
测试结果
mysql