Я бы порекомендовал вам объявить ваш DataSource
как bean-компонент и также классы, которые в этом нуждаются, и использовать внедрение зависимостей, чтобы ввести DataSource
в ваш класс.Например, определение вашего компонента может выглядеть следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans">
<bean id="dataSource" class="...">
<!-- your dataSource config here -->
</bean>
<bean id="yourClassThatNeedsDataSource" class="com.stackoverflow.q4684102.Example">
<property name="dataSource" ref="dataSource" />
</bean>
</beans>
и сопровождающий его класс
package com.stackoverflow.q4684102;
import javax.jdbc.DataSource;
import org.springframework.jdbc.core.simple.*;
public class Example implements YourDaoInterface {
private SimpleJdbcOperations jdbc;
public void setDataSource(DataSource ds) {
jdbc = new SimpleJdbcTemplate(ds);
}
// your DAO methods here
}
Почему это делается вместо создания компонента изSimpleJdbcTemplate сам по себе?
На самом деле без разницы - некоторым это нравится по-другому, другим это нравится - у вас не будет огромного XML с множеством определений бинов для промежуточных объектов, еслиделай так, это точно.Это, конечно, решать вам, как вы хотите разработать свое программное обеспечение.