2016 - 2024

感恩一路有你

ioc容器初始化流程 spring bean class作用?

浏览量:2559 时间:2023-06-25 18:17:43 作者:采采

spring bean class作用?

第一步功能

Bean标签用于配置spring要创建的对象。

默认情况下,它调用类中的无参数构造函数。如果没有无参数构造函数,就无法成功创建。

2.属性

Id:为容器中的对象提供唯一的标识符,用于获取对象。

Class:指定类的完全限定类名,用于通过反射创建对象。默认情况下,调用无参数构造函数。

范围:指定对象的范围。

第二,Bean标签的属性

bean标记中的scope属性用于描述Bean的范围。这些值如下所示:

Singleton:默认值,singleton。表示Spring Ioc容器中只有一个Bean实例。

原型:多实例。每次从Spring容器中获取它,都会返回一个新的实例。

请求:在web项目中,Spring创建一个Bean的对象,并将该对象存储在请求域中。

会话:在Web项目中,Spring创建一个Bean的对象,并将该对象存储在会话域中。

全局会话:在web项目中,作用于集群环境(Porlet)的会话范围(全局会话范围)。如果没有集群环境(Portlet),那么globalsession就相当于session。

Init-method:指定类中初始化方法的名称。

Destroy-method:指定类中销毁方法名称。

第三,Bean标记的范围属性

范围属性测试描述

singletont对象只创建一次,它是在创建容器时创建的。

Prototypet每次被调用时都会创建一个新对象,它是在对象被调用时创建的。

每次发出HTTP请求时,Requestt都会创建一个实例。

Sessiont为每个HTPP会话创建一个实例。

1.测试范围“单例 "

Singleton:默认值,singleton。表示Spring Ioc容器中只有一个B:xsi##34

txsi: schema location # # 34gt

tlt bean id # 34p # 34 class # # 34 cgtlt/b:

*tt测试Bean标签的范围属性。

* @ guoqianliang1998。

*/

公开课演示{

tpublic void testScope() {

ttApplicationContext ac新的ClassPathXmlApplicationContext(# 34 application cont:xsi##34

txsi: schema location # # 34gt

tlt bean id # 34p # 34 class # # 34 scop:

*tt测试Bean标签的范围属性。

* @ guoqianliang1998。

*/

公开课演示{

tpublic void testScope() {

ttApplicationContext ac新的ClassPathXmlApplicationContext(# 34 application context . XML # 34)

ttPerson p1(人员)(#34p#34)

ttPerson p2(人)(#34p#34)

ttPerson p3(人)(#34p#34)

(p1)

(第二页)

(p3)

第四,scop:

*tt实体类人

* @ guoqianliang1998。

*/

公共类人员{

t私有字符串名称

T//如果添加或删除列表,可能会导致线程安全问题。

tpublic listltstringt list new arraylistltstringt()

T//无参数结构

tppublic Person(){

t}

T//参数结构

t公共人员(字符串名称){

名字

t}

tpublic void talk(){

(# 34谈话法...#34)

t}

}

如何领悟Java三大框架?

这三个框架基本上都是SSH或SSM。(图片来自其他网站)

,Struts Spring Hibernate,这里面包包含了MVC的思想。其中Struts偏向视图层,Hibernate偏向模型层,Spring是一个大容器,里面装载了你需要的一切。Struts从前端到后台的逻辑相当于一个从外向内的管道;Spring加载了所有要用的类和静态数据,通过注入的给你对象,不用去new每个类,用起来很方便。Hibernate其实就是数据持久层,把你从数据存储的繁琐操作中解救出来。在实际应用中,可以通过操作一个对象来改变数据库。

,Struts(SpringMVC) Spring Mybatis,现在常用的框架,只是用Mybatis代替了Hibernate。Hibernate操作更简单,但是控制性更强。MyBatis把数据控制交给程序员,自己写SQL语句,但也省去了断开数据库的繁琐操作,这是半自动的。

对象 范围 Bean 容器

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。