spring容器装配Bean基于注解

本文深入探讨Spring框架中基于注解的Bean装配方法,包括@Component及其派生注解的使用,依赖注入的各种方式,以及如何通过注解控制Bean的生命周期和作用域。通过实例代码展示了@Autowired、@Value、@Qualifier等注解的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

装配bean基于注解

  • 注解:就是一个类,使用@注解名称
  • 开发中:使用注解 取代 xml配置文件
  1. @Component取代<bean class="">
    @Component(“id”)取代<bean id="" class="">
  2. web开发,提供3个@Component注解衍生注解(功能一样)取代<bean class="">
    @Repository :dao层
    @Service:service层
    @Controller:web层
  3. 依赖注入,给私有字段设置,也可以给setter方法设置
    普通值:@Value(“”)
    引用值:
    方式1:按照【类型】注入------->@Autowired
    方式2:按照【名称】注入1------->@Autowired+@Qualifier(“名称”)
    方式3:按照【名称】注入2------->@Resource(name=“名称”)
public class TestBean12 {  
    @Autowired //字段注入  
    private User user;  
    //省略getter和setter ,spring底层反射实现了setter
}  

public class TestBean13 {  
    private User user;  
    @Autowired //setter方法注入  
    public void setUser(User user) {  
        this.user = user;  
    }  
    public String getMessage() {  
        return message;  
    }  
}  

public class TestBean14 {  
    private String message;  
    private List<String> list;  
    @Autowired(required = true) //任意一个或多个参数方法注入  
    private void initMessage(String message, ArrayList<String> list) {  
        this.message = message;  
        this.list = list;  
    }  
    //省略getter和setter  
}  
  1. 生命周期(bean中自定义的init和destroy方法上面添加这些注解)
    初始化:@PostConstruct
    销毁:@PreDestroy
  2. 作用域(在类的上面添加@Scope(…))
    @Scope(“prototype”) 多例
  • 注解使用前提,添加命名空间,让spring扫描含有注解类
    在这里插入图片描述
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans 
       					   http://www.springframework.org/schema/beans/spring-beans.xsd
       					   http://www.springframework.org/schema/context 
       					   http://www.springframework.org/schema/context/spring-context.xsd">
	<!-- 组件扫描,扫描含有注解的类 -->
	<context:component-scan base-package="com.itheima.g_annotation.a_ioc"></context:component-scan>
</beans>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值