spring相关—IOC容器—使用注解配置bean

本文详细介绍了Spring框架中用于声明bean的各种注解,包括@Component、@Controller、@Service和@Repository等,并解释了如何使用@Autowired实现依赖注入。此外还介绍了如何通过<context:component-scan>进行自动扫描以及设置bean的ID。

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

①声明bean的注解
        @Component   将当前类声明为IOC容器中的一个普通的组件(除了下面三种外的组件)
        @Controller   将当前类声明为IOC容器中的一个控制器组件
        @Service    将当前类声明为IOC容器中的业务逻辑层组件
        @Repository    将当前类声明为IOC容器中的一个持久化层组件
    
    Spring根据上述注解其实并不能分辨当前类是否真的是一个控制器或Dao,即使标记的类和注解不对应也没有语法错误。
    但在实际工作中,肯定要将专门的注解标记在对应的类上面。   

②使用基于注解的bean的配置,需要额外导入一个jar包:spring-aop-4.0.0.RELEASE.jar   (spring中所有注解都是基于aop的,使用时要导入spring-aop-4.0.0.RELEASE.jar包)

 

③需要设置自动扫描的包
        < context:component-scan base-package ="com.neuedu.ioc.bean"/>


④使用注解后,默认按照类名首字母小写作为id的值,也可以使用value属性指定id,value属性名也可以省略注解        
        注解                                                      id值   
   @Component                                           commonComponent
   public class CommonComponent {
   }
   
   @Controller(value="neueduBookAction" )            neueduBookAction
   public class BookAction {
   }
        
   @Service("happyService" )                            happyService
   public class BookService {
   }

⑤使用注解进行自动装配:@Autowired注解[好处就是:连get、set方法都不用写!]

    @Autowired
    private UserDao dao;    
//@Autowired直接将IOC容器中的UserDao对象注入

    [1]首先检测标记了@Autowired注解的属性的类型(开始根据类型注入,能确定唯一bean对象,则注入)
    [2]根据类型进行装配
    [3]如果指定类型的bean不止一个,那么根据需要被装配的属性的属性名做id的值,查找bean

  (此时根据属性名注入,看是否有匹配id)
    [4]如果根据id值还是没有找到bean,可以使用@Qualifier注解手动指定要装配的bean的id.

转载于:https://www.cnblogs.com/kangxingyue-210/p/7445726.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值