文章目录
目录结构(Maven)
├─src
│ ├─main
│ │ ├─java
│ │ │ └─com
│ │ │ └─cc
│ │ │ └─spring
│ │ │ └─helloWord
│ │ │ └─LoadByProperties.java
│ │ ├─resources
│ │ │ └─springxml
│ │ │ ├─jdbc.properties
│ │ │ └─applicationContext.xml
若是普通web工程,则在src同级目录下创建springxml包文件,将 jdbc.properties
与 applicationContext.xml
放入其中。
jdbc.propertiest 内容
# 为了避免与其他配置资源文件中,产生命名冲突,使用一下命名
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test
jdbc.username=root
jdbc.password=123
applicationContext.xml spring 配置文件内容
<?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:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">
<!-- 方法一、 -->
<!-- <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="springxml/jdbc.properties"></property>
</bean> -->
<!-- 方法二、 需要导入Context 外部命名空间-->
<context:property-placeholder location="springxml/jdbc.properties"/>
<!-- 注入配置 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="${jdbc.driver}"></property>
<property name="url" value="${jdbc.url}"></property>
<property name="password" value="${jdbc.password}"></property>
<property name="username" value="${jdbc.username}"></property>
</bean>
</beans>
LoadByProperties.java 控制程序代码
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.alibaba.druid.pool.DruidDataSource;
public class LoadByProperties {
public static void main(String[] args) {
ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext("springxml/applicationContext.xml");
DruidDataSource dataSource = ac.getBean("dataSource", DruidDataSource.class);
System.out.println(dataSource);
ac.close();
}
}