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

高端做网站公司哪家好福建seo搜索引擎优化

高端做网站公司哪家好,福建seo搜索引擎优化,做企业网站有前途吗,教做美食的视频网站Spring Bean作用域 默认情况下,所有的 Spring Bean 都是单例的,也就是说在整个 Spring 应用中, Bean 的实例只有一个 如果我们需要创建多个实例的对象,那么应该将 Bean 的 scope 属性定义为 prototype,如果 Spring 需…

Spring Bean作用域

默认情况下,所有的 Spring Bean 都是单例的,也就是说在整个 Spring 应用中, Bean 的实例只有一个

如果我们需要创建多个实例的对象,那么应该将 Bean 的 scope 属性定义为 prototype,如果 Spring 需要每次都返回一个相同的 Bean 实例,则应将 Bean 的 scope 属性定义为 singleton。(默认)

Spring 5 共提供了 6 种 scope 作用域
在这里插入图片描述
这里只说 单例 和 多例的配置

多例

<!-- User -->
<bean class="com.liu.c.User" id="user" scope="prototype"><constructor-arg name="age" value="15"/><constructor-arg name="name" value="小张"/>
</bean>
public class TestUser {public static void main(String[] args) {String springProperties = "spring.xml";ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(springProperties);User user = context.getBean("user", User.class);User user1 = context.getBean("user", User.class);System.out.println(user.hashCode());System.out.println(user1.hashCode());}
}

显然是不同的对象

1554358
17185802

单例

<bean class="com.liu.c.User" id="user" scope="singleton"><constructor-arg name="age" value="15"/><constructor-arg name="name" value="小张"/>
</bean>

hash值相同,同一个对象,单例模式

17139697
17139697

OK


Spring Bean的声明周期

在传统的 Java 应用中,Bean 的生命周期很简单,使用 Java 关键字 new 进行 Bean 的实例化后,这个 Bean 就可以使用了。一旦这个 Bean 长期不被使用,Java 自动进行垃圾回收。

Spring 中 Bean 的生命周期较复杂,大致可以分为以下 5 个阶段:
Bean 的实例化
Bean 属性赋值
Bean 的初始化
Bean 的使用
Bean 的销毁

Spring 根据 Bean 的作用域来选择 Bean 的管理方式,
对于 singleton 作用域的 Bean 来说,Spring IoC 容器能够精确地控制 Bean 何时被创建、何时初始化完成以及何时被销毁;
对于 prototype 作用域的 Bean 来说,Spring IoC 容器只负责创建,然后就将 Bean 的实例交给客户端代码管理,Spring IoC 容器将不再跟踪其生命周期。

我们可以在 Spring Bean 的 Java 类中,通过实现 InitializingBean 和 DisposableBean 接口,指定 Bean 的生命周期回调方法。

我们还可以在 Spring 的 XML 配置中,通过 元素中的 init-method 和 destory-method 属性,指定 Bean 的生命周期回调方法。

我们还可以通过 JSR-250 的 @PostConstruct 和 @PreDestroy 注解,指定 Bean 的生命周期回调方法。

Spring Bean继承

在 Spring XML 配置中,我们通过子 Bean 的 parent 属性来指定需要继承的父 Bean,配置格式如下

<!--父Bean-->
<bean id="parentBean" class="xxx.xxxx.xxx.ParentBean" ><property name="xxx" value="xxx"></property><property name="xxx" value="xxx"></property>
</bean> 
<!--子Bean--> 
<bean id="childBean" class="xxx.xxx.xxx.ChildBean" parent="parentBean"></bean>

Bean定义模板

在父 Bean 的定义中,有一个十分重要的属性,那就是 abstract 属性。如果一个父 Bean 的 abstract 属性值为 true,则表明这个 Bean 是抽象的。

抽象的父 Bean 只能作为模板被子 Bean 继承,它不能实例化,也不能被其他 Bean 引用,更不能在代码中根据 id 调用 getBean() 方法获取,否则就会返回错误。

在父 Bean 的定义中,既可以指定 class 属性,也可以不指定 class 属性。如果父 Bean 定义没有明确地指定 class 属性,那么这个父 Bean 的 abstract 属性就必须为 true。

http://www.ds6.com.cn/news/18088.html

相关文章:

  • 中国网站建设公司图片网站建设制作公司
  • 重庆展示型网站制作营销广告网站
  • 如何在youtube找人做视频网站今日新闻摘抄十条
  • 公司网站是怎么制作和维护的在线培训
  • 网站做关键词排名有必要吗最新新闻事件今天国内大事
  • 六盘水网站建设百度在线翻译
  • 制作网站首先做的工作百度高级搜索首页
  • 哪有做课件赚钱的网站2022年大事热点新闻
  • 品牌商城网站制作公司网站seo检测工具
  • 舞蹈培训机构网站模板网店运营入门基础知识
  • 微商手机网站模板网站搭建需要多少钱
  • 做网站需要什么设备目前最火的自媒体平台
  • 网站建设管理指导意见营销策划经典案例
  • 广州做营销型网站哪家好seo平台
  • 网站开发的投标案例推广论坛有哪些
  • 贵州省建设银行网站武汉seo优化分析
  • 中英网站怎么做获客软件排名前十名
  • 泰兴网站建设网站开发技术有哪些
  • 网站开发学些什么软件信息发布
  • 渠道网点网站优化查询
  • 静态网站 apache网店培训
  • php做网站标题加链接如何注册百度账号
  • 如何做威客网站网站百度收录
  • 商城网站建设哪个比较好网络营销推广的优势
  • 网站建设哪里最好谷歌搜索排名规则
  • 网站建设 电话优化大师下载安装app
  • 网站赚流量优秀网站设计案例
  • 重庆渝中区企业网站建设哪家好今日刚刚发生的国际新闻
  • 网站设计会存在什么问题关于搜索引擎的搜索技巧
  • 盘锦网站建设价位seo神器