实例化bean的四种方法

方法一:用构造方法实例化bean

提供可靠的构造方法,不写默认调用无参构造方法

//配置
<bean id="bookDao" class="org.wcx.dao.impl.BookDaoImpl"/>

 

方法二:用静态工厂实例化bean

1 public class OrderDaoFactory {
2     public static OrderDao getOrderDao(){
3         return new OrderDaoImpl();
4     }
5 }
静态工厂
//配置
<bean id="orderDao" class="org.wcx.dao.factory.OrderDaoFactory" factory-method="getOrderDao"/>

 

方法三:用实例工厂实例化bean

public class UserDaoFactory {
    public UserDao getUserOrder(){
        return new UserDaoImpl();
    }

}
实例工厂
//配置
<bean id="userDaoFactory" class="org.wcx.dao.factory.UserDaoFactory" />
<bean id="userDao" factory-bean="userDaoFactory" factory-method="getUserOrder"/>

 

方法四:FactoryBean

 1 public class UserDaoFactoryBean implements FactoryBean<UserDao> {
 2 
 3     @Override
 4     public UserDao getObject() throws Exception {
 5         return new UserDaoImpl();
 6     }
 7 
 8     @Override
 9     public Class<?> getObjectType() {
10         return UserDao.class;
11     }
FactoryBean
//配置
<bean id="userDao" class="org.wcx.dao.factory.UserDaoFactoryBean"/>

 

posted @ 2023-02-01 09:39  喝了娃哈哈立刻笑哈哈  阅读(143)  评论(0)    收藏  举报