学习大数据——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);
	}

使用项目结构

项目结构

发布了37 篇原创文章 · 获赞 7 · 访问量 680

猜你喜欢

转载自blog.csdn.net/qq_40394792/article/details/104391839