【发布时间】:2017-08-04 22:32:37
【问题描述】:
让我有一个如下所示的课程:
public interface UserDAO {
public List<User> list();
}
public class UserDAOImpl implements UserDAO {
private DataSource dataSource;
public UserDAOImpl(DataSource dataSource) {
this.dataSource = dataSource;
}
假设 JNDI 配置在 tomcat 中正确完成。
现在对于许多站点中的 spring bean 映射,我发现了以下配置:
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/UsersDB"/>
</bean>
<bean id="userDao" class="net.codejava.spring.dao.UserDAOImpl">
<constructor-arg>
<ref bean="dataSource" />
</constructor-arg>
</bean>
这是我的问题,UserDAOImpl 类正在寻找 DataSource 对象,但我们正在注入 JndiObjectFactoryBean 对象[这不是 DataSource 的子类],因为我们甚至没有提到工厂方法如何或在何处发生转换?
【问题讨论】:
标签: java spring spring-mvc