Spring-Bean实例化三种的方式


Bean实例化三种方式

  • 无参构造实例化(重点)
  • 工厂静态方法实例化
  • 工厂实例方法实例化

工厂静态方法实例化

1.编写接口

package com.my;

public interface UserDao {
    public void  save();
}

2.接口实现方法

public class UserDaoImpl implements UserDao {
    public UserDaoImpl() {
        System.out.println("UserImpl创建.....");
    }
    public  void init(){
        System.out.println("初始化方法.....");
    }
    public void destory(){

        System.out.println("销毁方法");
    }
    public void save() {
        System.out.println("save running.....");
    }
}

3.创建静态工厂

public class StaticFactory {
    public static UserDao getUserDao(){
        return new UserDaoImpl();
    }
}

3.编写配置文件

 

4.测试

public class UserDemo {
    @Test
    public  void mytest(){
        ApplicationContext application = new ClassPathXmlApplicationContext("applicationContext.xml");
        UserDao userDao1 = (UserDao) application.getBean("UserDao");
        System.out.println(userDao1);


    }
}

5.测试结果

![](https://img2020.cnblogs.com/blog/2069956/202111/2069956-20211126100743843-366255724.png)

6.测试动态
1.编写测试类

public class DynamicFactory {
    public UserDao getUserDao() {
        return new UserDaoImpl();
    }
}

2.编写测试文件

   
    

3.写结果