Bean
概述
Bean配置
xml配置
- 在other里面新建xml文件
- 在spring官网找到springframework 文件,learn里面找reference doc,找到core 找到 1.2.1 metadata
Bean属性
Bean实例化
Bean作用域(scope)
默认是单例模式的作用域,通过prototype获取的bean相当于java的new,是直接在new一个,不会保存之前的实例,singleton相反。
request每一次有请求就产生一个实例,session和requeset差不多 就是时间久点
生命周期
实例化: 根据配置情况调用bean的构造方法或工厂化来实例化bean
属性赋值: 利用依赖注入完成bean所有属性的配置的注入
初始化 : 如果bean中的scope是sington则bean则会放到springIoc的缓存池中,触发spring对该bean的生命周期的管理,如果scope是原型模式,则会将bean交给使用者来管理
销毁: 实现 DisposableBean 接口的destroy()方法
通过@PreDestroy@PreDestroy是java的注解类,如果需要通过这种方式回调销毁方法,需要容器具备扫描注解的能力
通过
bean的继承
bean自动装配
手动装配:自己定义这个属性然后赋值
自动装配:springIoc容器可以自动装配bean,只需要在
不推荐使用,spring只支持全体自动装配和全体手动装配,不支持两者结合,要么byname要么bytype两者不兼容
Bean事件处理
ContextRefreshedEvent:被初始化或者刷新时该事件会被发布
ContextStartedEvent :
bean后置处理器
bean注解配置
required: bean的set方法表面配置文件必须在xml中 5.0后就弃用了
autowired:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!