讓我們如下圖所示拿我有一個類:Spring的核心JNDI配置豆
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類是尋找數據源對象,但我們注入的JndiObjectFactoryBean對象[這不是一個子類別DataSource],因爲我們甚至沒有提及工廠方法如何或在哪裏進行轉換?
謝謝,明白了。 – vicky