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

徐州网站排名优化免费的发帖收录网站

徐州网站排名优化,免费的发帖收录网站,空间备案和网站备案,程序员工资多少钱一个月文章目录 通过构造方法实例化通过简单工厂模式实例化通过factory-bean实例化BeanFactory和FactoryBean的区别BeanFactoryFactoryBean 注入自定义Date Spring为Bean提供了多种实例化方式,通常包括4种方式。(也就是说在Spring中为Bean对象的创建准备了很多…

文章目录

  • 通过构造方法实例化
  • 通过简单工厂模式实例化
  • 通过factory-bean实例化
  • BeanFactory和FactoryBean的区别
    • BeanFactory
    • FactoryBean
  • 注入自定义Date

Spring为Bean提供了多种实例化方式,通常包括4种方式。(也就是说在Spring中为Bean对象的创建准备了很多种方案,目的是:更加灵活)

  • 第一种:通过构造方法实例化
  • 第二种:通过简单工厂模式实例化
  • 第三种:通过factory-bean实例化
  • 第四种:通过FactoryBean接口实例化

通过构造方法实例化

默认情况下,会调用Bean的无参数构造

//User
package com.powernode.spring6.bean;public class User {public User() {System.out.println("User类的无参数构造方法执行。");}
}
<!-- spring.xml -->
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><bean id="userBean" class="com.powernode.spring6.bean.User"/></beans>
//test
@Test
public void testConstructor(){ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring.xml");User user = applicationContext.getBean("userBean", User.class);System.out.println(user);
}

通过简单工厂模式实例化

  1. 定义一个Bean
package com.powernode.spring6.bean;public class Vip {
}
  1. 编写简单工厂模式当中的工厂类
package com.powernode.spring6.bean;public class VipFactory {public static Vip get(){return new Vip();}
}
  1. 在Spring配置文件中指定创建该Bean的方法(使用factory-method属性指定)
<bean id="vipBean" class="com.powernode.spring6.bean.VipFactory" factory-method="get"/>
  1. 编写测试程序
@Test
public void testSimpleFactory(){ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring.xml");Vip vip = applicationContext.getBean("vipBean", Vip.class);System.out.println(vip);
}

通过factory-bean实例化

本质上是通过工厂方法模式进行实例化

  1. 定义一个Bean
package com.powernode.spring6.bean;public class Order {
}
  1. 定义具体工厂类,工厂类中定义实例方法
package com.powernode.spring6.bean;public class OrderFactory {public Order get(){return new Order();}
}
  1. 在Spring配置文件中指定factory-bean以及factory-method
<bean id="orderFactory" class="com.powernode.spring6.bean.OrderFactory"/>
<bean id="orderBean" factory-bean="orderFactory" factory-method="get"/>
  1. test
@Test
public void testSelfFactoryBean(){ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring.xml");Order orderBean = applicationContext.getBean("orderBean", Order.class);System.out.println(orderBean);
}

FactoryBean在Spring中是一个接口,被称为“工厂Bean”。“工厂Bean”是一种特殊的Bean。所有的“工厂Bean”都是用来协助Spring框架来创建其他Bean对象的。

BeanFactory和FactoryBean的区别

BeanFactory

Spring IoC容器的顶级对象,BeanFactory被翻译为“Bean工厂”,在Spring的IoC容器中,“Bean工厂”负责创建Bean对象。

BeanFactory是工厂。

FactoryBean

FactoryBean:它是一个Bean,是一个能够辅助Spring实例化其他Bean对象的一个Bean。

他是一个Bean


在Spring中,Bean可以分为两类:

  • 第一类:普通Bean
  • 第二类:工厂Bean

工厂Bean也是一种Bean,只不过这种Bean比较特殊,它可以辅助Spring实例化其他Bean对象。

注入自定义Date

众所周知 ,Date作为简单类用起来不简单,必须要规范那个b格式,其他格式是不会被识别的。

这种情况下,我们就可以使用FactoryBean来完成这个骚操作
编写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 FactoryBean<Date> {// 定义属性接收日期字符串private String date;// 通过构造方法给日期字符串属性赋值public DateFactoryBean(String date) {this.date = date;}@Overridepublic Date getObject() throws Exception {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");return sdf.parse(this.date);}@Overridepublic Class<?> getObjectType() {return null;}
}

编写spring配置文件

<bean id="dateBean" class="com.powernode.spring6.bean.DateFactoryBean"><constructor-arg name="date" value="1999-10-11"/>
</bean><bean id="studentBean" class="com.powernode.spring6.bean.Student"><property name="birth" ref="dateBean"/>
</bean>
http://www.tj-hxxt.cn/news/93999.html

相关文章:

  • Java做网站的学习路线软文范例500字
  • xml文件里做网站超链接关键词上首页软件
  • 手机网站静态模板下载领硕网站seo优化
  • 怎样做网站优化 关键词整合网络营销外包
  • 招聘网站可做哪些推广方案论坛营销
  • 2网站建设公司淘宝关键词优化工具
  • t恤在线制作网站汕头网站快速优化排名
  • 做大数据和网站开发的前景天眼查询个人
  • 临沂网站建设网站推广市场推广方法
  • 上海网站建设 知名觉百度24小时人工客服
  • 定制型网站建设合同范本友情链接的网站
  • 南京公司网站建设成人零基础学电脑培训班
  • 网站建设公司赚钱吗宁波seo公司
  • 做短租类型的网站营销咨询公司排名
  • 菏泽网站建设优秀的软文
  • 羊了个羊开发公司seo推广小分享
  • 简单网站建设模板拉新工作室在哪里接项目
  • 怎么在百度上做自己的网站网站推广交换链接
  • php网站 缓存百度怎么推广产品
  • 以百度云做网站空间百度账号设置
  • 极简网站设计seo关键词优化服务
  • 在线网站建设哪个正规百度代运营公司
  • 成都网站建设公司外贸建站推广哪家好
  • 做dnf钓鱼网站网络seo是什么
  • 微网站建设及微信公众号谷歌seo综合查询
  • 我的世界怎么做赞助网站搜索引擎营销实训报告
  • 网站友链查询成都网络营销公司
  • seo搜索优化网站推广排名百度网盘电话人工服务
  • 图标设计网站免费b站软件下载
  • 宁波市住宅建设集团网站百度服务中心电话