无参构造方法实例化
我们最常用的也是这种方法。
配置文件如下:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210522212108684.png)
接口实现类的无参构造方法如下:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210522212022796.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMTQyNzg1,size_16,color_FFFFFF,t_70)
测试类运行如下:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210522212219842.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMTQyNzg1,size_16,color_FFFFFF,t_70)
工厂静态方法实例化
先创建一个工厂类,并在该类中创建一个静态方法,如下
![在这里插入图片描述](https://img-blog.csdnimg.cn/202105222138350.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMTQyNzg1,size_16,color_FFFFFF,t_70)
配置文件如下:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210523150946683.png)
增加 factory-method = “” 属性,
测试类运行如下:
![在这里插入图片描述](https://img-blog.csdnimg.cn/202105231512124.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMTQyNzg1,size_16,color_FFFFFF,t_70)
工厂实例方法实例化
创建工厂类,并创建 getUserDao() 方法,如下:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210523151839603.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMTQyNzg1,size_16,color_FFFFFF,t_70)
配置文件如下:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210523153027737.png)
ps:获取 userDao 的Bean实例,根据 factory-bean 找到是哪个工厂,再根据 factory-method 找到是哪个方法
测试类运行如下:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210523153429827.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMTQyNzg1,size_16,color_FFFFFF,t_70)
重点是无参构造方式获取Bean