Spring中引用外部属性文件连接数据库

当bean的配置信息逐渐增多时,查找和修改一些bean的配置信息就变得愈加困难。这时可以将一部分信息提取到bean配置文件的外部,以properties格式的属性文件保存起来,同时在bean的配置文件中引用properties属性文件中的内容,从而实现一部分属性值在发生变化时仅修改properties属性文件即可。这种技术多用于连接数据库的基本信息的配置。

直接配置

1. 在pom.xml文件中加入连接和操作数据库需要依赖的jar包:

  	<!-- druid -->
  	<dependency>
  		<groupId>com.alibaba</groupId>
  		<artifactId>druid</artifactId>
  		<version>1.1.9</version>
  	</dependency>
  	<!-- mysql -->
  	<dependency>
  		<groupId>mysql</groupId>
  		<artifactId>mysql-connector-java</artifactId>
  		<version>5.1.37</version>
  	</dependency>

2. 在Spring Bean Configuration File文件即beans.xml文件中添加:

	 <!-- 配置数据源 -->
	 <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
	 	<!-- 配置连接数据库 -->
	 	<property name="username" value="root"></property>
	 	<property name="password" value="******"></property>
	 	<property name="url" value="jdbc:mysql://localhost:3306/webtest"></property>
	 	<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
	 </bean>

3. 使用Test:

//注意使用DataSource需要导入:
//import javax.sql.DataSource;
	@Test
	void testConnection() throws SQLException {
		DataSource dataSource = ioc.getBean(DataSource.class);
		Connection connection = dataSource.getConnection();
		System.out.println(connection);
	}

使用外部的属性文件

1. 在pom.xml文件中加入连接和操作数据库需要依赖的jar包:

  	<!-- druid -->
  	<dependency>
  		<groupId>com.alibaba</groupId>
  		<artifactId>druid</artifactId>
  		<version>1.1.9</version>
  	</dependency>
  	<!-- mysql -->
  	<dependency>
  		<groupId>mysql</groupId>
  		<artifactId>mysql-connector-java</artifactId>
  		<version>5.1.37</version>
  	</dependency>

2. 创建druid.properties文件

jdbc.username=root
jdbc.password=******
jdbc.url=jdbc:mysql://localhost:3306/webtest
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.initialSize=10
jdbc.minIdle=5
jdbc.maxActive=20
jdbc.maxWait=5000

3.在beans.xml文件中引入context名称空间:
在beans.xml文件中引入context名称空间

4.指定properties属性文件的位置、从properties属性文件中引入属性值:

	 <!-- 引入外部包含连接数据库有关信息的属性文件
	 		-需要向加入context的命名空间
	  -->
	 <context:property-placeholder location="classpath:druid.properties"/>
	 <!-- 引用外部属性文件配置数据源 -->
	 <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
	 	<property name="username" value="${jdbc.username}"></property>
	 	<property name="password" value="${jdbc.password}"></property>
	 	<property name="url" value="${jdbc.url}"></property>
	 	<property name="driverClassName" value="${jdbc.driverClassName}"></property>
	 	
	 	<property name="initialSize" value="${jdbc.initialSize}"></property>
	 	<property name="minIdle" value="${jdbc.minIdle}"></property>
	 	<property name="maxActive" value="${jdbc.maxActive}"></property>
	 	<property name="maxWait" value="${jdbc.maxWait}"></property>
	 </bean>

5. 使用Test:

//注意使用DataSource需要导入:
//import javax.sql.DataSource;
	@Test
	void testConnection() throws SQLException {
		DataSource dataSource = ioc.getBean(DataSource.class);
		Connection connection = dataSource.getConnection();
		System.out.println(connection);
	}

使用项目结构

项目结构

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值