Spring Bean实例化方式怎么实现


这篇“SpringBean实例化方式怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“SpringBean实例化方式怎么实现”文章吧。第一种:通过构造方法实例化第二种:通过简单工厂模式实例化第三种:通过factory-bean实例化(工厂方法模式)第四种:通过FactoryBean接口实例化我们之前一直使用的就是这种方式!默认情况下,会调用Bean的无参数构造方法,这里在复习一遍!SpringBean类spring.xml配置第一种:在spring配置文件中直接配置类全路径,Spring会自动调用该类的无参数构造方法来实例化Bean!BeanInstantiationTest测试类执行结果:成功调用无参数构造方法实例化对象简单工厂模式又叫做静态工厂方法模式,因为工厂类中有一个静态方法!第一步:定义一个Bean第二步:编写简单工厂模式当中的工厂类第三步:在Spring配置文件中指定创建该Bean的方法第二种:通过简单工厂模式。需要在Spring配置文件中告诉Spring框架,调用哪个类的哪个方法获取Bean?①class属性指定的是工厂类的全限定类名!②factory-method属性指定的是工厂类当中的静态方法,也就是告诉Spring框架,调用这个方法可以获取Bean!第四步:编写测试程序执行结果:通过简单工厂模式也能实例化对象本质上是:通过工厂方法模式进行实例化对象!注:简单工厂模式和工厂方法模式的区别①简单工厂模式是所有的产品对应一个工厂类,使用的是静态方法!②工厂方法模式是一个产品对应一个工厂类,使用的是实例方法!第一步:定义一个Bean第二步:定义具体工厂类,工厂类中定义实例方法第三步:在Spring配置文件中指定factory-bean以及factory-method第三种:通过工厂方法模式。通过 factory-bean属性 + factory-method属性来共同完成。告诉Spring框架,调用哪个对象(因为是实例方法需要创建对象)的哪个方法来获取Bean。①factory-bean属性用来告诉Spring调用那个对象!②factory-method属性用来告诉Spring调用该对象的那个方法!第四步:编写测试程序执行结果:通过工厂方法模式也能实例化对象①在第三种方式中,factory-bean和factory-method都是我们自己定义的。②在Spring中,当编写的类直接实现FactoryBean接口之后,factory-bean和factory-method就不需要指定了!factory-bean会自动指向实现FactoryBe免费云主机域名an接口的类,factory-method会自动指向getObject()方法!第一步:定义一个Bean第二步:编写一个类实现FactoryBean接口,重写里面的方法PersonFactory也是一个Bean,只不过这个Bean比较特殊,叫做工厂Bean。通过工厂Bean这个特殊的Bean可以获取一个普通的Bean!第三步:在Spring配置文件中配置FactoryBean第四种:通过FactoryBean接口来实现,这种方式实际上就是第三种方式的简化!①由于你编写的类实现了FactoryBean接口,所以这个类是一个特殊的类,不需要你再手动指定:factory-bean、factory-method。 ②通过一个特殊的Bean:工厂Bean,来返回一个普通的Bean Person对象。即通过FactoryBean这个工厂Bean主要是想对普通Bean进行加工处理!第四步:编写测试程序执行结果:通过FactoryBean接口实例化注:FactoryBean在Spring中是一个接口,被称为“工厂Bean”。“工厂Bean”是一种特殊的Bean,所有的“工厂Bean”都是用来协助Spring框架来创建其他Bean对象的!(1)BeanFactory(是一个工厂)BeanFactory是Spring IoC容器的顶级对象,BeanFactory被翻译为“Bean工厂”,在Spring的IoC容器中,“Bean工厂”负责创建Bean对象!(2)FactoryBean(是一个Bean)FactoryBean是一个Bean,是一个能够辅助Spring实例化其它Bean对象的一个Bean!在Spring中,Bean可以分为两类:第一类:普通Bean第二类:工厂Bean(工厂Bean也是一种Bean,只不过这种Bean比较特殊,它可以辅助Spring实例化其它Bean对象)①前面我们说过,java.util.Date在Spring中被当做简单类型,简单类型在注入的时候可以直接使用value属性或value标签来完成。②但是之前我们已经测试过了,对于Date类型来说,采用value属性或value标签赋值的时候,对日期字符串的格式要求非常严格,必须是这种格式的:Mon Oct 10 14:30:26 CST 2022,其他格式是不会被识别的!③当然我们也可以当成非简单类型处理,使用ref属性来处理,但是却有一个弊端,获取的都是当前的时间,并不能自己指定时间!注:下面我们就使用FactoryBean来完成这个骚操作!Student类编写DateFactory实现FactoryBean接口编写spring配置文件编写测试程序执行结果以上就是关于“SpringBean实例化方式怎么实现”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注百云主机行业资讯频道。

相关推荐: html5中pc端指的是什么

这篇文章主要介绍“html5中pc端指的是什么”,在日常操作中,相信很多人在html5中pc端指的是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”html5中pc端指的是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 05/20 16:15
Next 05/20 16:15

相关推荐