一、基于util配置
测试代码:
@Data
@ToString
public class MyData1 implements DataSource {
//数据库连接信息
private Properties properties;
@Override
public Connection getConnection() throws SQLException {
return null;
}
@Override
public Connection getConnection(String username, String password) throws SQLException {
return null;
}
@Override
public PrintWriter getLogWriter() throws SQLException {
return null;
}
@Override
public void setLogWriter(PrintWriter out) throws SQLException {
}
@Override
public void setLoginTimeout(int seconds) throws SQLException {
}
@Override
public int getLoginTimeout() throws SQLException {
return 0;
}
@Override
public Logger getParentLogger() throws SQLFeatureNotSupportedException {
return null;
}
@Override
public <T> T unwrap(Class<T> iface) throws SQLException {
return null;
}
@Override
public boolean isWrapperFor(Class<?> iface) throws SQLException {
return false;
}
}
@Data
@ToString
public class MyData2 implements DataSource {
//数据库连接信息
private Properties properties;
@Override
public Connection getConnection() throws SQLException {
return null;
}
@Override
public Connection getConnection(String username, String password) throws SQLException {
return null;
}
@Override
public PrintWriter getLogWriter() throws SQLException {
return null;
}
@Override
public void setLogWriter(PrintWriter out) throws SQLException {
}
@Override
public void setLoginTimeout(int seconds) throws SQLException {
}
@Override
public int getLoginTimeout() throws SQLException {
return 0;
}
@Override
public Logger getParentLogger() throws SQLFeatureNotSupportedException {
return null;
}
@Override
public <T> T unwrap(Class<T> iface) throws SQLException {
return null;
}
@Override
public boolean isWrapperFor(Class<?> iface) throws SQLException {
return false;
}
}
配置文件:
<?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:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
<!--引入util
xmlns:util="http://www.springframework.org/schema/util"
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"
-->
<!--使用util进行配置-->
<util:properties id="prop">
<prop key="driver">com.mysql.jdbc.Driver</prop>
<prop key="url">jdbc:mysql://localhost:3306/spring6</prop>
<prop key="name">root</prop>
<prop key="password">123456</prop>
</util:properties>
<!--数据源1-->
<bean id="dataBean1" class="com.cjc.spring6.jdbc.MyData1">
<property name="properties" ref="prop"/>
</bean>
<!--数据源2-->
<bean id="dataBean2" class="com.cjc.spring6.jdbc.MyData2">
<property name="properties" ref="prop"/>
</bean>
</beans>
测试类:
@Test
public void getMyData(){
ApplicationContext applicationContext =new ClassPathXmlApplicationContext("dataBean.xml");
MyData1 dataBean1 = applicationContext.getBean("dataBean1", MyData1.class);
MyData2 dataBean2 = applicationContext.getBean("dataBean2", MyData2.class);
System.out.println(dataBean1);
System.out.println(dataBean2);
}
测试结果: