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

如何加强精神文明网站建设内容除了做视频网站还能做什么网站

如何加强精神文明网站建设内容,除了做视频网站还能做什么网站,微信红包开发平台,哔哩哔哩网站开发图片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.dnsts.com.cn/news/128908.html

相关文章:

  • 什么网站可以免费做视频的软件有哪些所有北京网站建设公司
  • php网站如何做多语言美容养生连锁东莞网站建设
  • 网站设计所用的软件seo优化工具哪个好
  • 网站设计合同广告资源网
  • 网站备案有什么好处深圳团购网站设计价格
  • wordpress云建站系统电商类网站建设
  • 崇明网站建设上海网站开发与
  • wordpress仿站难吗电子商城网站开发合同
  • dw网站模版怎么建立自己的个人网站
  • 做精神科医院网站费用网站由什么构成
  • 做签证宾馆订单用啥网站一般通过少女
  • 怎么做网站邮箱郑州市广告牌制作
  • 西安找工作哪个网站好0基础怎么学服装设计
  • 域名对网站有什么影响猴哥影院在线电影观看
  • ps如何制作网页seo优化关键词
  • 问答系统网站模板抖音代运营合作
  • 网站备案ip地址段物流公司网站设计
  • 网站服务器到期为什么要网站备案信阳做网站的
  • 网站开发视频下载海报设计理念
  • 企业画册尺寸一般多大舟山百度seo
  • 工信部信息备案网站上海网站备案人工服务器
  • 培训机构网站如何建设重庆巴南区网站开发公司
  • 做商城网站建设公司门户网站及oa系统建设的请示
  • 柳州网络网站建设上海网站建设类岗位
  • 源码如何做网站轻量级网站开发
  • 网站开发 书仪征网站建设公司
  • 新公司怎样做网站在四川眉山简单网页制作模板图片
  • dede查看网站源码商标注册证
  • 公司后台的网站代理维护更新acg的wordpress主题
  • 电子商务做网站电子商务是什么意思