寒假学习(7)

Bean 的生命周期
Spring 容器管理的 Bean 有一个完整的生命周期,这个生命周期包括:
1.实例化:Spring 容器会根据配置实例化 Bean 对象。
2.依赖注入:Spring 容器会自动注入所有需要的依赖(通过构造器注入、setter注入或字段注入)。
3.初始化:如果 Bean 实现了 InitializingBean 接口或配置了初始化方法,Spring 会调用相应的初始化方法。
4.销毁:当容器关闭时,Spring 容器会调用 DisposableBean 接口的销毁方法,或者配置了销毁方法的 Bean。

Bean 的作用域
pring 提供了不同的作用域来控制 Bean 的生命周期和可见性。常见的作用域有:
1.singleton(默认作用域):每个 Bean 在 Spring 容器中只有一个实例。
2.prototype:每次请求都会创建一个新的 Bean 实例。
3.request:每个 HTTP 请求都会创建一个新的 Bean 实例(适用于 Web 应用)。
4.session:每个 HTTP 会话都会创建一个新的 Bean 实例(适用于 Web 应用)。
5.globalSession:用于 Portlet 应用,每个全局 HTTP 会话都会创建一个新的 Bean 实例。

Spring集合注入

  1. 基于 XML 的集合注入
    Spring 允许通过 XML 配置文件将集合注入到 Bean 中。使用集合注入时,Spring 会根据集合的类型将 Bean 的值注入到相应的集合中。
    1.1 List 集合注入
<bean id="person" class="com.example.Person">
    <property name="friends">
        <list>
            <ref bean="friend1"/>
            <ref bean="friend2"/>
        </list>
    </property>
</bean>
在这个示例中,Person 类中的 friends 属性是一个 List,并且将 friend1 和 friend2 两个 Bean 注入到 friends 集合中。Spring 容器会将这两个 Friend 对象注入到 List 集合中。

1.2 Set 集合注入

<bean id="person" class="com.example.Person">
    <property name="hobbies">
        <set>
            <value>Reading</value>
            <value>Swimming</value>
            <value>Traveling</value>
        </set>
    </property>
</bean>

在这个例子中,Person 类的 hobbies 属性是一个 Set 集合,Spring 会将多个 value 元素注入到 Set 集合中,确保元素的唯一性。

1.3 Map 集合注入

<bean id="person" class="com.example.Person">
    <property name="contactInfo">
        <map>
            <entry key="email" value="person@example.com"/>
            <entry key="phone" value="123-456-7890"/>
        </map>
    </property>
</bean>

在这个例子中,Person 类中的 contactInfo 属性是一个 Map,将 email 和 phone 键值对注入到 Map 中。

posted @   muxin1630  阅读(2)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示