当前位置: 首页 > news >正文

北京燕化工程建设有限公司网站/引擎优化seo是什么

北京燕化工程建设有限公司网站,引擎优化seo是什么,做logo专用的网站是哪个,免费素材网免费素材图库Spring IoC容器如何实例化Bean呢?传统应用程序可以通过new和反射方式进行实例化Bean。而Spring IoC容器则需 要根据Bean定义里的配置元数据使用反射机制来创建Bean。在Spring IoC容器中根据Bean定义创建Bean主要有以下 几种方式: 一. 使用构造器实例化Be…

Spring IoC容器如何实例化Bean呢?传统应用程序可以通过new和反射方式进行实例化Bean。而Spring IoC容器则需 要根据Bean定义里的配置元数据使用反射机制来创建Bean。在Spring IoC容器中根据Bean定义创建Bean主要有以下 几种方式:

一. 使用构造器实例化Bean

这是最简单的方式,Spring IoC容器即能使用默认空构造器也能使用有参数构造器两种方 式创建Bean,如以下方式指定要创建的Bean类型:

1. 使用空构造器进行定义,使用此种方式,class属性指定的类必须有空构造器。

 <bean name="bean1" class="cn.javass.spring.chapter2.HelloImpl2"/>

2. 使用有参数构造器进行定义,使用这种方式,可以通过< constructor-arg >标签指定构造器参数值,其中index表示位 置,value表示常量值,也可以指定引用,指定引用使用ref来引用另一个Bean定义,后边会详细介绍:

 <bean name="bean2" class="cn.javass.spring.chapter2.HelloImpl2"><!-- 指定构造器参数 --> <constructor-arg index="0" value="Hello Spring!"/> 
</bean

知道如何配置了,下面介绍一个例子来实践一下:

(1)准备Bean class(HelloImpl2.java),该类有一个空构造器和一个有参构造器。

public interface HelloApi {public void sayHello();}public class HelloImpl2 implements HelloApi{private String message;public HelloImpl2() {this.message="Hello World";}public HelloImpl2(String message) {this.message=message;}public void sayHello() {System.out.println(message);}}

(2)准备配置文件(resources/bean.xml)

    <!-- 使用默认构造函数 --><bean id="bean1" class="com.test.spring.HelloImpl2"></bean><!-- 使用有参构造函数 --><bean id="bean2"  class="com.test.spring.HelloImpl2"><constructor-arg index="0" value="Hello Spring"/></bean>    

(3)实例化对象进行测试

public class HelloTest {public static void main(String args[]) {ApplicationContext context=new ClassPathXmlApplicationContext("bean.xml");HelloImpl2 aHelloImpl2=(HelloImpl2) context.getBean("bean1");HelloImpl2 bHelloImpl2=(HelloImpl2) context.getBean("bean2");aHelloImpl2.sayHello();bHelloImpl2.sayHello();}}Hello World
Hello Spring

二. 使用静态工厂方式实例化Bean

使用这种方式除了指定必须的class属性,还要指定factory-method属性来指定实 例化Bean的方法,而且使用静态工厂方法也允许指定方法参数,spring IoC容器将调用此属性指定的方法来获取 Bean,配置如下所示:

public class HelloApiStaticFactory {//工厂方法public static HelloApi newInstance(String message) {//返回需要的Bean实例return new HelloImpl2(message);}}<bean id="bean3" class="com.test.spring.HelloApiStaticFactory" factory-method="newInstance"><constructor-arg index="0" value="Hello Spring"/></bean>public class HelloTest {public static void main(String args[]) {ApplicationContext context=new ClassPathXmlApplicationContext("bean.xml");HelloImpl2 aHelloImpl2=(HelloImpl2) context.getBean("bean3");aHelloImpl2.sayHello();}}Hello Spring

三. 使用实例工厂方法实例化Bean

此时必须使用factory-bean属性来指定工厂 Bean,factory-method属性指定实例化Bean的方法,而且使用实例工厂方法允许指定方法参数,方式和使用构造器方 式一样,配置如下:

public class HelloApiInstanceFactory {public HelloApi newInstance(String message) {return new HelloImpl2(message);}}    <!-- 1.定义实例工厂Bean --><bean id="beanInstanceFactory" class="com.test.spring.HelloApiInstanceFactory"/><!-- 2.使用实例工厂Bean创建Bean --><bean id="bean4" factory-bean="beanInstanceFactory" factory-method="newInstance"><constructor-arg index="0" value="Hello Spring"></constructor-arg></bean>public class HelloTest {public static void main(String args[]) {ApplicationContext context=new ClassPathXmlApplicationContext("bean.xml");HelloImpl2 aHelloImpl2=(HelloImpl2) context.getBean("bean4");aHelloImpl2.sayHello();}}Hello Spring

 

这三种方式只是配置不一样,从获取方 式看完全一样,没有任何不同。这也是Spring IoC的魅力,Spring IoC帮你创建Bean,我们只管使用就可以了,是不是 很简单。

 

参考文献:

http://jinnianshilongnian.iteye.com

 

转载于:https://www.cnblogs.com/Hermioner/p/10028951.html

http://www.lbrq.cn/news/1284157.html

相关文章:

  • 企业网站的建立/抖音推广渠道有哪些
  • 电子商务网站网络安全设计方案/网络营销中心
  • 网站代运营做哪些/百度关键词优化曝光行者seo
  • 网站工作室模板/企业文化
  • paypal可做网站/网络推广法
  • 公司网站制作高端/时事政治2023最新热点事件
  • 网站开发违约属于什么纠纷/西安网站建设公司排行榜
  • 凡科网站网站建设进不去/seo信息查询
  • wordpress源码之家/seo信息网
  • 服务行业做网站/ 今日头条
  • 大家做网站都会去哪找素材/产品推广方式
  • 招商网站怎么做/优质的seo快速排名优化
  • 做网站开发的想接私活/微信怎么推广引流客户
  • 网站域名备案更改吗/百度爱采购官网
  • 常见的电子商务网站有哪些/技能培训
  • 更换域名对网站的影响/优化关键词排名软件
  • 济南建站软件/阳泉seo
  • 张店低价网站建设/百度指数1000搜索量有多少
  • 兰州网站制作公司排名/查找关键词的工具叫什么
  • 汕头网站建设制作方案/免费代理浏览网页
  • 玉雕网站建设/逆冬黑帽seo培训
  • 网站开发和推广的不同/网站分析报告
  • 做外贸公司网站/近期国际新闻热点大事件
  • 合肥seo关键词排名/seo查询5118
  • 个人网站建设方法/郴州网站建设
  • 地勘网站建设方案/深圳网络推广最新招聘
  • 网站开发设计培训价格/产品质量推广营销语
  • 网站攻击方式/宁波seo外包平台
  • 云南城乡建设网站/简单制作html静态网页
  • 如何做网站网页表白/东莞今日头条新闻
  • 知识图谱的初步探索
  • 机器学习对中特估股票关键特征选取的应用与研究
  • MySQL 中 VARCHAR(50) 和 VARCHAR(500) 的区别
  • Rust嵌入式开发实战
  • NLua和C#交互
  • 【橘子分布式】gRPC(番外篇-监听流)