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

如何加强精神文明网站建设内容最牛的视频网站建设

如何加强精神文明网站建设内容,最牛的视频网站建设,wordpress api 路径,广东十大广告公司Spring为Bean提供了多种实例化方式#xff0c;通常包括4种方式。#xff08;也就是说在Spring中为Bean对象的创建准备了多种方案#xff0c;目的是#xff1a;更加灵活#xff09; 第一种#xff1a;通过构造方法实例化第二种#xff1a;通过简单工厂模式实例化第三种通常包括4种方式。也就是说在Spring中为Bean对象的创建准备了多种方案目的是更加灵活 第一种通过构造方法实例化第二种通过简单工厂模式实例化第三种通过factory-bean实例化第四种通过FactoryBean接口实例化 1.通过构造方法实例化 默认情况下会调用Bean的无参数构造方法。 定义一个Bean package com.powernode.spring6.bean;public class SpringBean {public SpringBean() {System.out.println(SpringBean的无参数构造方法执行);} }Spring配置文件 ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd!--Spring提供的实例化方式第一种在spring配置文件中直接配置类全路径Spring会自动调用该类的无参数构造方法来实例化Bean--bean idspringBean classcom.powernode.spring6.bean.SpringBean/ /beans测试 package com.powernode.spring6.test;import com.powernode.spring6.bean.SpringBean; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext;public class BeanInstantiationTest {Testpublic void testInstantiation1(){ApplicationContext applicationContext new ClassPathXmlApplicationContext(spring.xml);SpringBean springBean applicationContext.getBean(springBean, SpringBean.class);System.out.println(springBean);} }2.通过简单工厂模式实例化 定义一个Bean package com.powernode.spring6.bean; /*** Bean*/ public class Star {public Star() {System.out.println(Star的无参数构造方法执行);} }编写简单工厂模式当中的工厂类 package com.powernode.spring6.bean; /*** 简单工厂模式中的工厂类角色*/ public class StarFactory {// 工厂类中有一个静态方法public static Star get(){// Star对象最终实际上创建的时候还是我们负责new的对象return new Star();} }在Spring配置文件中指定创建该Bean的方法使用factory-method属性指定 !--Spring提供的实例化方式第二种通过简单工厂模式。你需要在Spring配置文件中告诉Spring框架调用哪个类的哪个方法获取Bean-- !--factory-method 属性指定的是工厂类当中的静态方法。也就是告诉Spring框架调用这个方法可以获取Bean。-- bean idstar classcom.powernode.spring6.bean.StarFactory factory-methodget/编写测试程序 Test public void testInstantiation2(){ApplicationContext applicationContext new ClassPathXmlApplicationContext(spring.xml);Star star applicationContext.getBean(star, Star.class);System.out.println(star); }3.通过factory-bean实例化 这种方式本质上是通过工厂方法模式进行实例化。 定义一个Bean package com.powernode.spring6.bean; /*** 工厂方法模式当中的 具体产品角色*/ public class Gun {public Gun() {System.out.println(Gun的无参数构造方法执行);} }定义具体工厂类工厂类中定义实例方法 package com.powernode.spring6.bean; /*** 工厂方法模式中的 具体工厂角色*/ public class GunFactory {// 工厂方法模式中的具体工厂角色中的方法是实例方法public Gun get(){// 实际上new对象还是我们自己new的return new Gun();} }在Spring配置文件中指定factory-bean以及factory-method !--Spring提供的实例化方式第三种通过工厂方法模式。通过 factory-bean属性 factory-method属性来共同完成。-- !--告诉Spring框架调用哪个对象的哪个方法来获取Bean。-- bean idgunFactory classcom.powernode.spring6.bean.GunFactory/ !--factory-bean属性告诉Spring调用哪个对象。factory-method告诉Spring调用该对象的哪个方法。-- bean idgun factory-beangunFactory factory-methodget/编写测试程序 Test public void testInstantiation3(){ApplicationContext applicationContext new ClassPathXmlApplicationContext(spring.xml);Gun gun applicationContext.getBean(gun, Gun.class);System.out.println(gun); }4.通过FactoryBean接口实例化 以上的第三种方式中factory-bean是我们自定义的factory-method也是我们自己定义的。 在Spring中当你编写的类直接实现FactoryBean接口之后factory-bean不需要指定了factory-method也不需要指定了。 factory-bean会自动指向实现FactoryBean接口的类factory-method会自动指向getObject()方法。 定义一个Bean package com.powernode.spring6.bean; /*** 普通的Bean*/ public class Person {public Person() {System.out.println(Person的无参数构造方法执行);} }编写一个类实现FactoryBean接口 package com.powernode.spring6.bean;import org.springframework.beans.factory.FactoryBean;public class PersonFactoryBean implements FactoryBeanPerson {// PersonFactoryBean也是一个Bean这个Bean比较特殊叫做工厂Bean// 通过工厂Bean可以获取普通的BeanOverridepublic Person getObject() throws Exception {// 最终这个Bean的创建还是我们自己new的return new Person();}Overridepublic Class? getObjectType() {return null;}/*** 这个方法在接口中有默认实现* 默认返回true表示单例的* 返回false表示多例的* return*/Overridepublic boolean isSingleton() {return FactoryBean.super.isSingleton();} }在Spring配置文件中配置FactoryBean !--Spring提供的实例化方式第四种通过FactoryBean接口来实现。-- !--这种方式实际上就是第三种方式的简化。-- !--由于你编写的类实现了FactoryBean接口所以这个类是一个特殊的类不需要你再手动指定factory-bean、factory-method-- !--通过一个特殊的Bean工厂Bean。来返回一个普通的Bean Person对象。-- !--通过FactoryBean这个工厂Bean主要是想对普通Bean进行加工处理。-- bean idperson classcom.powernode.spring6.bean.PersonFactoryBean/测试程序 Test public void testInstantiation4(){ApplicationContext applicationContext new ClassPathXmlApplicationContext(spring.xml);Person person applicationContext.getBean(person, Person.class);System.out.println(person); }FactoryBean在Spring中是一个接口。被称为“工厂Bean”。“工厂Bean”是一种特殊的Bean。所有的“工厂Bean”都是用来协助Spring框架来创建其他Bean对象的。 5.BeanFactory和FactoryBean的区别 1 BeanFactory Spring IoC容器的顶级父接口BeanFactory被翻译为“Bean工厂”在Spring的IoC容器中“Bean工厂”负责创建Bean对象。 BeanFactory是工厂。 2 FactoryBean FactoryBean它是一个Bean是一个能够辅助Spring实例化其它Bean对象的一个Bean。 在Spring中Bean可以分为两类 第一类普通Bean第二类工厂Bean记住工厂Bean也是一种Bean只不过这种Bean比较特殊它可以辅助Spring实例化其它Bean对象。 6 注入自定义Date java.util.Date在Spring中被当做简单类型简单类型在注入的时候可以直接使用value属性或value标签来完成。但对于Date类型来说采用value属性或value标签赋值的时候对日期字符串的格式要求非常严格必须是这种格式的Mon Oct 10 14:30:26 CST 2022。其他格式是不会被识别的。 package com.powernode.spring6.bean;import java.util.Date;/*** 普通的Bean*/ public class Student {// java.util.Date 在Spring当中被当做简单类型注入日期字符串格式有要求// java.util.Date 在Spring当中也可以被当做非简单类型private Date birth;public void setBirth(Date birth) {this.birth birth;}Overridepublic String toString() {return Student{ birth birth };} }编写DateFactoryBean类实现FactoryBean接口 package com.powernode.spring6.bean;import org.springframework.beans.factory.FactoryBean;import java.text.SimpleDateFormat; import java.util.Date;public class DateFactoryBean implements FactoryBeanDate {// 定义属性接收日期字符串private String strDate;// 通过构造方法给日期字符串属性赋值public DateFactoryBean(String strDate) {this.strDate strDate;}Overridepublic Date getObject() throws Exception {SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd);Date date sdf.parse(strDate);return date;}Overridepublic Class? getObjectType() {return null;} }在Spring配置文件中配置 !--通过工厂BeanDateFactoryBean来返回普通Bean:java.util.Date-- bean iddateFactoryBean classcom.powernode.spring6.bean.DateFactoryBeanconstructor-arg index0 value1999-10-11/ /bean bean idstudent classcom.powernode.spring6.bean.Studentproperty namebirth refdateFactoryBean/ /bean测试 Test public void testDate(){ApplicationContext applicationContext new ClassPathXmlApplicationContext(spring.xml);Student student applicationContext.getBean(student, Student.class);System.out.println(student); }
http://www.hkea.cn/news/14530435/

相关文章:

  • 购物网站后台怎么做中小型网站建设公司
  • 推荐做流程图的网站美工免费素材网站
  • 济南网站建设安卓版贸易公司注册需要什么条件
  • 公司内部的网站主要作用做一个网站的费用
  • 深圳网站公司招聘信息1m宽带做网站
  • 网站商品图片尺寸jeecms
  • 上海共富新村网站建设十大利润最高的实体店
  • 做服装招聘的网站有哪些内容海口专门做网站
  • 宁波网站推广公司报价网络营销与推广方案
  • 黑色大气金融投资企业网站模板店标logo图片免费制作
  • 权威的扬中网站建设聊城做网站的公司策划
  • 北京网站优化步骤互联网黄页广告
  • 在菲做平台网站怎么自己制作图片
  • 开源网站系统企业网站群建设的原因
  • 手机网站建设分析公司网站不续费能打开网页吗
  • 建构网站西安北京做百度网站建设
  • 中国住房和建设部厅查询网站wordpress外贸主题教程
  • 检察院门户网站建设成效百度官网登录
  • 网站运营的具体工作包括哪些旅游网站设计规划书
  • 象刀设计网站顺德精品网站建设
  • 会展类网站模板wordpress用手机qq微信微博
  • 番禺公司网站建设源码开发网站建设
  • 深圳品牌网站建设公司哪家好怎么去管理好一个团队
  • 做网页建网站挣钱n怎样建立自己的网站
  • 建设企业网站流程H5网站整站
  • 江苏网站备案流程长沙网站建设维护
  • 佛山免费发布信息的网站酒店网络营销策略论文
  • 网站维护托管要多少钱青岛博海建设网站
  • 学网站开发要什么基础抖音代运营招标
  • php商场网站开发经验一个网上商城多少钱