您的位置:首页 > 编程语言 > Java开发

Spring学习历程---引用Bean的属性值

2016-11-18 22:01 435 查看
提供配置信息的类。

import javax.sql.DataSource;

public class SysConfig {
private int sessionTimeout;
private int maxTabPageNum;

private DataSource dataSource;

public void initFromDB(){
//从数据库中获取属性配置值
this.sessionTimeout = 30;
this.maxTabPageNum = 10;
}

public int getSessionTimeout() {
return sessionTimeout;
}

public int getMaxTabPageNum() {
return maxTabPageNum;
}

public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
}

}


引用bean的属性值
<?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:p="http://www.springframework.org/schema/p"
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"> <context:property-placeholder
location="classpath:com/baobaotao/placeholder/jdbc.properties"/>

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close"
p:driverClassName="${driverClassName}"
p:url="${url}"
p:username="${userName}"
p:password="${password}"/>

<bean id="sysConfig" class="com.baobaotao.beanprop.SysConfig"
init-method="initFromDB"
p:dataSource-ref="dataSource"/>

<bean class="com.baobaotao.beanprop.ApplicationManager"
p:maxTabPageNum="#{sysConfig.maxTabPageNum}"
p:sessionTimeout="#{sysConfig.sessionTimeout}"/>
</beans>
sysConfig配置文件先是初始化相应的bean,然后再被后面的Bean调用#{beanName.beanProperty}。

对于基于注解配置bean的方式,也有类似的操作

@Value("#{sysConfig.sessionTimeOut}")
private int timeOut;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息