java 单例 生命周期_Rhythmk 一步一步学 JAVA (13) Spring-2 之Ben懒加载以及生命周期,单例...

1、定义Demo类:

package com.rhythmk.spring;

public class User {

public void Init ()

{

System.out.println("User 对象被 创建!");

}

// 计数器

public int Count=0;

public void Say()

{

this.Count++;

System.out.println("User 被"+this.Count+"次初始!");

}

public void Destory()

{

System.out.println("User 对象被销毁!");

}

}

2、init-method:对象初始执行

destroy-method:对象销毁执行:

执行单元测试:

@Test

public void test() {

BeanFactory bean=new ClassPathXmlApplicationContext("applicationContext.xml");

User user=(User)bean2.getBean("user");

user.Say();

}

输出:

User 对象被 创建!

User 被1次初始!

3、scope  包括 singleton单例模式  (默认)

prototype,Request, Session, Global Session

默认applicationContext.xml 配置 添加测试代码:

private static BeanFactory bean= new ClassPathXmlApplicationContext("applicationContext.xml");

@Test

public void test1() {

User user=(User)bean.getBean("user");

user.Say();

}

@Test

public void test2() {

User user=(User)bean.getBean("user");

user.Say();

}

输出:

User 对象被 创建!

User 被1次初始!

User 被2次初始!

修改applicationContext.xml 添加 scope=prototype

执行如上测试代码:

输出:

User 对象被 创建!

User 被1次初始!

User 被1次初始!

4、  lazy-init 默认为 false ,为true时,则在执行“BeanFactory bean= new ClassPathXmlApplicationContext("applicationContext.xml");”

并未执行初始化,只有在 bean.getBean("user") 才会执行函数初始:

package com.rhythmk.spring;

public class User {

// 计数器

public int Count=0;

public User()

{

System.out.println("User 被"+this.Count+"次初始!");

}

public void Say()

{

this.Count++;

System.out.println("User.Say!");

}

}

4.1 、默认配置:

输出:

User 被0次初始!

开始执行测试!

User.Say!

4.2 、调整配置:

输出:

开始执行测试!

User 被0次初始!

User.Say!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/529690.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java 高级泛型_java泛型的高级应用

展开全部在上面的例子中,由于没有限制class GenericsFoo类型持有者T的范围,实际上这里32313133353236313431303231363533e59b9ee7ad9431333339666666的限定类型相当于Object,这和“Object泛型”实质是一样的。限制比如我们要限制T为集合接口类…

java窗体线条切换消失_java – 如何更改apache poi生成的图表不使用平滑线条并将空单元格显示为间隙?...

我使用的是POI 3.12-beta1,并且代码可以在图例中创建包含多个数据集和命名系列的折线图.但是,poi中折线图的默认设置会生成一条已在数据点上平滑的线.空值也被绘制为0,但我们希望这些线在第一列停止,其中有一个空单元格.一旦在xlsx文件中呈现并更改这些设置,我就可以进入图表属…

java正则表达式 问号_正则表达式问号的四种用法详解

正则表达式问号的四种用法详解原文符号因为?在正则表达式中有特殊的含义,所以如果想匹配?本身,则需要转义,\?有无量词问号可以表示重复前面内容的0次或一次,也就是要么不出现,要么出现一次。非贪婪匹配贪婪匹配在满…

java alert跳页面_JavaScript中通过提示框跳转页面的方法

通过提示框跳转页面具体代码如下所示:Documentwindow.onload function(){ //设置当页面加载时执行var btn document.getElementsByTagName("button")[] //获取btn元素btn.onclick function(){ //给button加上一个点击事件var answer confirm("是否…

java jsp if else if_jsp页面使用if else语句 | 学步园

jsp页面嵌入java语句使用即可,但是在使用if else语句时一定要注意使用是标点的使用,在语句中分号不能写,不符合jsp页面的语法规则,若多写了则会报错:如下:{name: priceRA, type: string}, {name: priceRB, type: string}, {name: priceRC, type: string},{name: priceRD, typ…

mysql 优化300例_mysql的limit优化实例

测试环境操作系统: debian linux服务器版本: Mysql 5.0.24Mysql数据库的Qcache缓存关闭数据库表testtable的参数:类型: MyISAM 大小: >80MB 记录规模: >50000 字段数: >25个字段id是主键 leibie字段上建有索引进行数据分段测试1>SQL不带where条件的测试1…

mysql+百万+中间表_MYSQL优化

MYSQL优化是一个非常大的课题,这篇文章主要介绍了跟MYSQL相关的4个方面,如果想深入研究可以查下相关资料。一、服务器级别优化二、操作系统级别优化三、MYSQL级别优化四、SQL级别优化一、服务器级别优化1.服务器选型SUN小型机、DELL730xd、HPDL380、IBM3…

java kafka 拉取_java获取kafka consumer lag

maven依赖org.apache.kafkakafka-clients0.10.1.0注意:kafka-clients版本需要0.10.1.0以上,因为调用了新增接口endOffsets;laglogsize-offsetlogsize通过consumer的endOffsets接口获得;offset通过consumer的committed接口获得;imp…

java开源图像处理ku_83 项开源视觉 SLAM 方案够你用了吗?

原标题:83 项开源视觉 SLAM 方案够你用了吗?公众号:3D视觉工坊主要关注:3D视觉算法、SLAM、vSLAM、计算机视觉、深度学习、自动驾驶、图像处理以及技术干货分享运营者和嘉宾介绍:运营者来自国内一线大厂的算法工程师&a…

java 方法的拆分_java – 字符串拆分和比较 – 最快的方法

>将输入读入byte []数组以将指针保持在代码的一侧.>逐字节读取,计算整数元素&#xff1a;int b inputBytes[p];int d b - 0;if (0 < d) {if (d < 9) {element element * 10 d;} else {// b :}} else {// b ,// add element to the hash; element 0;...}if (…

java sql异常_java.sql.SQLException: Io 异常: Got minus one from a

java.sql.SQLException: Io 异常: Got minus one from a read callat oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111)at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:145)at oracle.jdbc.driver.DatabaseError.thro…

java 拦截器ajax_(转)拦截器深入实践 - JAVA XML JAVASCRIPT AJAX CSS - BlogJava

Interceptor的定义我们来看一下Interceptor的接口的定义&#xff1a;Java代码 publicinterfaceInterceptorextendsSerializable {/*** Called to let an interceptor clean up any resources it has allocated.*/voiddestroy();/*** Called after an interceptor is created, b…

php学的是什么意思_为什么要学习PHP?到底什么是PHP?

为什么要学习PHP?到底什么是PHP?PHP可以做什么?相信这样的问题困扰着很多的人&#xff0c;在我没工作之前&#xff0c;都没有听说过PHP&#xff0c;自从工作后&#xff0c;慢慢接触到代码&#xff0c;慢慢知道什么是PHP。PHP是做网站一种语言&#xff0c;很多工程师都使用PH…

php 多数据库联合查询,php如何同时连接多个数据库_PHP教程

下面是一个函数能够保证连接多个数据库的下不同的表的函数&#xff0c;可以收藏一下&#xff0c;比较实用&#xff0c;测试过是有用的。function mysql_oper($oper,$db,$table,$where1,$limit10){$connmysql_connect(localhost,like,admin,true) or mysql_error();mysql_select…

java判断有没有修改,java字节码判断对象应用是否被修改

原创1 背景在学习并发的时候看到了ConcurrentLinkedQueue队列的源码&#xff0c;刚开始的时候是看网上的帖子&#xff0c;然后就到IDE里边看源码&#xff0c;发现offer()方法在1.7版的时候有过修改。楼主的问题不是整个方法&#xff0c;而是其中的一截代码“(t ! (t tail))”&…

php接口 含义,php晋级必备:一文读懂php接口特点和使用!

PHP接口与类是什么关系&#xff1f;前面提到了php中抽象类和抽象方法&#xff0c;今天给大家谈谈php中接口技术。在PHP中每个类只能继承一个父类&#xff0c;如果声明的新类继承了抽象类实现了以后&#xff0c;这个新类就不能有其它的父类了。但是在实际中需要继承多个类实现功…

php获取不重复的随机数字,php如何生成不重复的随机数字

【摘要】PHP即“超文本预处理器”&#xff0c;是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言&#xff0c;与C语言类似&#xff0c;是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。下面是php如何生成不重复的随机数字&#xff0c;让我们…

java 素数乘积,求助2424379123 = 两个素数的乘积,求这两个素数?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼import java.util.ArrayList;import java.util.Date;public class Test {static ArrayList list new ArrayList();/*** 初始化素数表* return*/public static ArrayList initArrayList() {list.add(2);list.add(3);list.add(5);li…

php header什么意思,php header是什么意思

header函数在PHP中是发送一些头部信息的, 我们可以直接使用它来做301跳转等&#xff0c;下面我来总结关于header函数用法与一些常用见问题解决方法。发送一个原始 HTTP 标头[Http Header]到客户端。标头 (header) 是服务器以 HTTP 协义传 HTML 资料到浏览器前所送出的字串&…

matlab dct稀疏系数,Matlab DCT详解

转自&#xff1a;http://blog.csdn.net/ahafg/article/details/48808443DCT变换DCT又称离散余弦变换&#xff0c;是一种块变换方式&#xff0c;只使用余弦函数来表达信号&#xff0c;与傅里叶变换紧密相关。常用于图像数据的压缩&#xff0c;通过将图像分成大小相等(一般为8*8)…