Spring-02 关于bean的作用域,生命周期,基于注解的注入,生成实例,半自动注解装配以及自动注解

本文详细介绍了Spring中bean的作用域,包括singleton和prototype,以及bean的生命周期。重点讨论了基于注解的装配,如@Autowired、@Qualifier和@Resource的使用,以及如何通过@Component、@Repository、@Service和@Controller注解生成和装配bean。同时,区分了半自动注解装配与自动注解装配的区别和实现方式。
摘要由CSDN通过智能技术生成

Spring-02

1.bean作用域

bean的作用域有7种,最常用的有单例和原型
在这里插入图片描述

1.1 singleton 单例

singleton是Spring容器默认的作用域,当Bean的作用域为singleton时,Spring容器就只会存在一个共享的Bean实例。singleton作用域对于无会话状态的Bean(如Dao 组件、Service组件)来说,是最理想的选择。

 singleton 1.在容器启动只创建一个 id 为student1 bean  2.并且放置在容器中,容器管理他的生命周期
<!--
       声明让容器创建一个 Student类型的bean  id student1
      scope="singleton"  容器创建bean scope 默认的 作用域是单例singleton
      singleton 1.在容器启动只创建一个 id 为student1的 bean  2.并且放置在容器中,容器管理他的生命周期
-->
<bean class="com.yth.entity.Student" id="student1" scope="singleton">
    <property name="id" value="100"></property>
    <property name="name" value="赵四"></property>
</bean>

测试

ApplicationContext applicationContext = new ClassPathXmlApplicationContext("scope/student.xml");
//关于singleton 单例的测试
@Test
public void Test01(){
   
    Student student = (Student) applicationContext.getBean("student1");
    System.out.println(student);
}
1.2 propertype 原型

当用户向容器获取bean 时,容器才创建,容器只负责创建,不负责保存维护他的生命周期

<!--
    声明让容器创建bean 作用域prototype
    prototype   1.用户向容器获取时 创建id student2对象 2.每次都创建新的对象
                3.容器只负责帮我们创建 不会放置在容器中,不会管理bean 的生命周期 ,由用户自己负责
-->
<bean class="com.yth.entity.Student" id="student2" scope="prototype">
    <property name="id" value="101"></property>
    <property name="name" value="广坤"></property>
</bean>

测试

//关于propertype 原型的测试
@Test
public void Test02(){
   
    Student student1 = (Student) applicationContext.getBean("student2");
    System.out.println(student1.hashCode());
    Student student2 = (Student) applicationContext.getBean("student2");
    System.out.println(student2.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值