Python 官方文档:入门教程 => 点击学习
目录一、饿汉式创建优势二、生命周期方法三、生命周期注解四、生命周期阶段五、用例一、饿汉式创建优势 工厂创建之后,会将spring配置文件中的所有对象都创建完成(饿汉式)。 提高程序运
工厂创建之后,会将spring配置文件中的所有对象都创建完成(饿汉式)。
提高程序运行效率。避免多次io,减少对象创建时间。(概念接近连接池,一次性创建好,使用时直接获取)
初始化注解、销毁注解
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
@PostConstruct //初始化
public void init(){
System.out.println("init method executed");
}
@PreDestroy //销毁
public void destroy(){
System.out.println("destroy method executed");
}
单例bean:singleton
随工厂启动创建 ==》 构造方法 ==》 set方法(注入值) ==》 init(初始化) ==》 构建完成 ==》随工厂关闭销毁
多例bean:prototype
被使用时创建 ==》 构造方法 ==》 set方法(注入值) ==》 init(初始化) ==》 构建完成 ==》JVM垃圾回收销毁
User实体类
package com.cos.qf.entity;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import java.util.*;
public class User {
private Integer id;
private String passWord;
private String sex;
private Integer age;
private Date bornDate;
private String[] hobbys;
private Set<String> phones;
private List<String> names;
private Map<String,String> countries;
private Properties files;
@PostConstruct //初始化
public void init(){
System.out.println("被初始化了");
}
@PreDestroy //销毁
public void destroy(){
System.out.println("被销毁了");
}
public User() {
System.out.println("执行了无参构造");
}
public void setId(Integer id) {
System.out.println("set-id");
this.id = id;
}
//get和set方法
}
application-config.xml配置文件
<bean id="user" class="com.cos.qf.entity.User" autowire="byType" init-method="init" destroy-method="destroy">
</bean>
测试方法:不能用ClassPathXmlApplicationContext的父类(ApplicationContext)去关闭不然就报错
@Test
public void text4() {
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("application-config.xml");
ctx.close();
}
结果:
到此这篇关于详解Spring工厂特性的文章就介绍到这了,更多相关Spring工厂特性内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: 详解Spring工厂特性
本文链接: https://www.lsjlt.com/news/126350.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0