Spring容器对Bean组件的管理

欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot

Bean对象创建#

Copy
默认是随着容器创建 可以使用 lazy-init=true:在调用 getBean 延迟创建 也可以用 <beans default-lazy-init="true"/> 批量延迟创建

Bean对象的创建模式#

Copy
默认是单例,可以使用scope属性改变。 singleton:单例,每次调用getBean返回同一个对象 prototype:原型,每次调用getBean返回一个新的对象

Bean对象初始化和销毁#

Copy
init-method 属性用于指定初始化方法 spring 容器创建完对象后,将会执行 xml 文件中指定的初始化方法,单例模式中初始化方法只会执行一次 destroy-method 属性用于指定销毁方法,仅适用于 singleton 模式, 在调用 AbstractApplicationContext 对象的 close() 方法时触发

三种实例化bean的方式#

Copy
1.使用类构造器实例化 <bean id=“userService" class="service.UserService"/> 2.使用静态工厂方法实例化 <bean id="userService" class="service.UserFactory" factory-method="createUser"/> public class UserFactory { public static UserService createUser(){ return new UserService(); } } 3.使用实例工厂方法实例化: <bean id="userServiceFactory" class="service.UserFactory"/> <bean id="userService" factory-bean="userServiceFactory" factory-method="createUser"/> public class UserFactory { public UserService createUser(){ return new UserService(); } }
posted @   LittleDonkey  阅读(999)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示
CONTENTS