我参与开发过的j2me项目里见到的DAO基本都是这样做的:
比如一个用户处理的会有一个IUserDAO.java接口和其实现类:UserDAOImpl.java
然后的业务层里都是通过spring注入的:
类里的声明:private IUserDAO userDAO;
spring配置:
<bean id="userDAO" class="UserDAO">
<property name="jdbcTemplate">
<ref bean="jdbcTemplate"/>
</property>
</bean>
<bean id="userServ" class="UserServ">
<property name="userDAO">
<ref bean="userDAO"/>
</property>
</bean>请问这样做有什么好处呢,为什么不直接在调用的时候new一个呢,象这样:private UserDAOImpl userDAO = new UserDAOImpl(); 这两种方式有什么区别?
比如一个用户处理的会有一个IUserDAO.java接口和其实现类:UserDAOImpl.java
然后的业务层里都是通过spring注入的:
类里的声明:private IUserDAO userDAO;
spring配置:
<bean id="userDAO" class="UserDAO">
<property name="jdbcTemplate">
<ref bean="jdbcTemplate"/>
</property>
</bean>
<bean id="userServ" class="UserServ">
<property name="userDAO">
<ref bean="userDAO"/>
</property>
</bean>请问这样做有什么好处呢,为什么不直接在调用的时候new一个呢,象这样:private UserDAOImpl userDAO = new UserDAOImpl(); 这两种方式有什么区别?
你直接去new一个实现的实例那要Spring干嘛