Spring的配置文件是学习Spring的基本操作,需要非常清晰的熟悉Spring配置文件每一个定义
一、Properties配置文件外移
前段时间做了一个项目,在开发的过程中,也没有考虑到配置文件的问题。后来项目完成了,打包的时候要求,要求将项目中的配置文件外移,方便修改配置文件。
配置文件位于classpath下
**
使用spring的org.springframework.beans.factory.config.PropertyPlaceholderConfigurer类加载Properties配置文件,通过源码可以知道,默认加载的是classpath下的文件,配置如下:
<bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:config/init1.properties</value>
<value>classpath:config/init2.properties</value>
</list>
</property>
</bean>
用maven构建项目时候resources目录就是默认的classpath
配置文件位于外部目录
**但是对于外部目录的配置文件,使用org.springframework.beans.factory.config.PropertyPlaceholderConfigurer也是可以加载的,不过要修改他的路径配置方式,如下:
<bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>file:${user.dir}/config/init.properties</value>
<value>file:${user.dir}/config/init2.properties</value>
</list>
</property>
</bean>
${user.dir}是系统变量,获取当前项目的根目录。
二、Spring配置数据库连接
<!-- 配置数据库连接池-->
<bean id="commonDataSource" class="org.apache.commons.dbcp2.BasicDataSource">
<property name="driverClassName" value="com.huawei.gauss.jdbc.ZenithDriver"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="designcommon"/>
<property name="password" value="Changeme_123"/>
<!--SQL查询,用来验证从连接池取出的连接,在将连接返回给调用者之前.-->
<property name="validationQuery" value="SELECT 1 from dual"/>
<!--指明连接是否被空闲连接回收器(如果有)进行检验-->
<property name="testWhileIdle" value="true"/>
<property name="timeBetweenEvictionRunsMillis" value="18000000"/>
<property name="minEvictableIdleTimeMillis" value="3600000"/>
</bean>
使用JDBCTemplate进行验证
public class Service {
private ApplicationContext ctx;
public Service() {
super();
}
private DataSource getBasicDataSource() throws IOException {
ctx = new ClassPathXmlApplicationContext("/applicationContext.xml");
DataSource dataSource= ctx.getBean("dataSource", DataSource.class);
return dataSource;
}
public JdbcTemplate getJdbcTemplate() throws IOException {
//加载source
JdbcTemplate jdbcTemplate = new JdbcTemplate(getBasicDataSource());
return jdbcTemplate;
}
}
三、Spring与myBatis整合
Mybatis的配置文件: