Spring 三种创建Bean的方式

第一种——默认构造函数创建

  在spring配置中使用bean标签,配置好id和class后,没有其他属性和标签,采用的就是默认构造函数创建bean对象,此时如果类中没有默认构造函数,则对象无法创建。

  但如果类是封装在jar包里面,我们无法通过修改源码的方法提供默认构造函数,例如我们创建一个InstanceFactory类

  若我们用第一种方式配置bean标签

  我们想要的是工厂的实例,却得到了AccountServiceImpl的实例,这样逻辑错误了,所以这引出了我们第二种方法

第二种——使用某个类中的方法创建

  这两行的意思是:我们现在通过第一种方式把工厂存入我们的spring容器了

  而accountService是怎么来的呢,是通过spring容器中instanceFactory里的getAccountService方法获取的

  运行一下client,我们可以看到

第三种——使用工厂中的静态方法创建对象

  我们创建一个staticFactory,里面的方法是静态的

  若我们工厂的方法是静态的话,就写上class属性指定factory,再用factory-method指定静态方法

   run一下clent,prefect

 

 

 

 

 

 

 

 

  

  

posted @ 2020-10-18 11:02  艾尔夏尔-Layton  阅读(582)  评论(0编辑  收藏  举报