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 {//加载sourceJdbcTemplate jdbcTemplate = new JdbcTemplate(getBasicDataSource());return jdbcTemplate;}}
三、Spring与myBatis整合
Mybatis的配置文件:
