码农知识堂 - 1000bd
Python
PHP
JS/TS
JAVA
C/C++
C#
GO
Kotlin
Swift
Spring-IOC配置-bean
目录
bean的基本配置
实例演示:
bean属性scope
实例演示:
bean的生命周期控制
实例演示:
静态工厂与实例工厂创建bean
实例演示:
bean的基本配置
bean
类型:
标签
归属:
beans标签
作用:
定义spring中的资源
受此标签定义的资源将受到spring控制
格式:
基本属性:
id
:bean的名称,通过id值获取bean
class
:bean的类型
name
:bean的名称,可以通过name值获取bean,用于多人配合时给bean起别名
实例演示:
bean属性scope
类型:
属性
归属:
bean标签
作用:
定义bean的作用范围
格式:
取值:
singleton:(默认)
设定创建出的对象保存在spring容器中,是一个单例的对象
prototype:
设定创建出的对象保存在spring容器中,是一个非单例的对象
request、session、application、websocket:
设定创建出的对象放置在web容器对应的位置
实例演示:
使用singleton时,
只创建一次对象
是在加载容器时创建
使用prototype时,在获取对象时创建对象
,获取一次创建一次
bean的生命周期控制
名称
:init-method,destroy-method
类型
:属性
归属
:bean标签
作用
:定义bean对象在初始化或销毁时完成的工作
格式
:
取值
:bean对应的类中对应的具体方法名
实例演示:
singleton:(默认)版
prototype:版
为啥destroy没有出现
destroy操作其实是运行了的
但是程序结束时,虚拟机已经退了,还没来得及释放资源就已经结束了
所以看不到
通过在虚拟机结束前,强制把容器关了就能看到了(记得把ApplicationContext改为ClassPathXmlApplicationContext)
使用prototype;destroy没有出现
因为当spring配置的是非单例对象时,它不归spring容器进行管理,没放在容器中
spring只是帮它new了一下
所以关容器和它没有关系
使用singleton:(默认),destroy出现
静态工厂与实例工厂创建bean
静态工厂版:
名称
:factory-bean
类型
:属性
归属
:bean标签
作用
:定义bean对象创建方式
使用静态工厂的形式创建bean,兼容早期遗留系统的升级工作
格式
:
取值
:工厂bean中用于获取对象的静态方法名
注意事项
:
class属性必须配置成静态工厂的类名
实例工厂版:
名称
:factory-bean,factory-method
类型
:属性
归属
:bean标签
作用
:定义bean对象创建方式
使用实例工厂的形式创建bean,兼容早期遗留系统的升级工作
格式
:
取值
:工厂bean中用于获取对象的实例方法名
注意事项
:
使用实例工厂创建bean首先需要将实例工厂配置bean,交由spring进行管理
factory-bean是实例工厂的beanId
实例演示:
静态工厂版:
构造工厂类
配置好配置文件
测试成功
实例工厂版:
构造工厂类
配置好配置文件
测试发现之前的静态也一同执行了(因为加载配置文件把之前的也加载了)
注释掉之前静态的配置再测试测试成功
相关阅读:
OC-NSArray
HCIA HYBRID端口
【性能基石之IO~~~Linux操作系统相关知识体系补充&虚拟文件系统&文件描述符&PageCache内核缓存页】
如何看待现在的面试变成了八股文
【明年找到好工作】:面试题打卡第一天
Ribbon本地实现负载均衡
SpringCloudGateway--谓词(断言)
【论文阅读】HTTP 流量和恶意 URL 的异常检测
[2023年]-hadoop面试真题(三)
ucos iii 任务栈使用率统计方法
原文地址:https://blog.csdn.net/weixin_59624686/article/details/126533543
最新文章
沪漂五周年了:我越来越迷茫了
Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
MySQL-Seconds_behind_master的精度误差
[MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
Agent OS :五种驯服不确定性的范式
PortSwigger SQL注入LAB11
数据库即时编译JIT
[Begin]AI Learn Data Day 0
深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
热门文章
十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
奉劝各位学弟学妹们,该打造你的技术影响力了!
五年了,我在 CSDN 的两个一百万。
Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
面试官都震惊,你这网络基础可以啊!
你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
心情不好的时候,用 Python 画棵樱花树送给自己吧
通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
13 万字 C 语言从入门到精通保姆级教程2021 年版
10行代码集2000张美女图,Python爬虫120例,再上征途
小工具
小游戏
Copyright © 2022 侵权请联系
2656653265@qq.com
京ICP备2022015340号-1
京公网安备 11010502049817号