介绍
这篇文章主要介绍了春天工厂特性有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。
一、饿汉式创建优势
工厂创建之后,会将春天配置文件中的所有对象都创建完成(饿汉式)。
提高程序运行效率。避免多次IO,减少对象创建时间。(概念接近连接池,一次性创建好,使用时直接获取)
二,生命周期方法
- <李>
自定义初始化方法:添加“init方法”属性,春天则会在创建对象之后,调用此方法。
李> <李>自定义销毁方法:添加“销毁方法”属性,春天则会在销毁对象之前,调用此方法。
李> <李>销毁:工厂的关闭()方法被调用之后,春天会毁掉所有已创建的单例对象。
李> <李>分类:单例对象由春容器销毁,原型对象由JVM销毁。
李>三,生命周期注解
初始化注解,销毁注解
import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; , @PostConstruct //初始化, public void  init () { ,,,System.out.println (“init method executed"); } , @PreDestroy //销毁 public void 破坏(){ ,,,System.out.println (“destroy method executed"); }
四、生命周期阶段
<强>单例bean: 强>单例
随工厂启动创建==饭乖旆椒?=芳椒?注入值)==穒nit(初始化)==饭菇ㄍ瓿?=匪婀こЧ乇障?/p> 引用>
<强>多例bean: 强>
原型被使用时创建==饭乖旆椒?=芳椒?注入值)==穒nit(初始化)==饭菇ㄍ瓿?=稪VM垃圾回收销毁
引用>五、用例
<强>用户实体类强>
package com.cos.qf.entity; , import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; import java.util。*; , public class  User { ,,,private Integer id; ,,,private String 密码; ,,,private String 性别; ,,,private Integer 年龄; ,,,private Date bornDate; ,,,private String[],嗜好; ,,,private Set,电话; ,,,private List ,名字; ,,,private Map<字符串,String>,国家; ,,,private Properties 文件; , , ,,,@PostConstruct //初始化 ,,,public void init () { ,,,,,,,System.out.println(“被初始化了“); ,,,} , ,,,@PreDestroy //销毁 ,,,public void 破坏(){ ,,,,,,,System.out.println(“被销毁了“); ,,,} ,,,, ,,,public 用户(),{ ,,,,,,,System.out.println(“执行了无参构造“); ,,,} , ,,,public void setId (Integer id), { ,,,,,,,System.out.println (“set-id"); ,,,,,,,this.id =, id; ,,,}//获取和设置方法 } <强> application-config。xml配置文件强>
, & lt; bean id=皍ser",类=癱om.cos.qf.entity.User",自动装配=癰yType", init方法=癷nit",销毁方法=癲estroy"比; & lt;/bean><强>测试方法强>:不能用ClassPathXmlApplicationContext的父类(ApplicationContext)去关闭不然就报错
, @Test ,,,public void text4 (), { ,,,,,,,ClassPathXmlApplicationContext ctx =, new ClassPathXmlApplicationContext (“application-config.xml"); ,,,,,,,ctx.close (); ,,,}
<强>结果强>:,
感谢你能够认真阅读完这篇文章,希望小编分享的“春工厂特性有哪些”这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
春天工厂特性有哪些