spring 02 IOC 注解开发

本文详细介绍了Spring的IOC注解开发,包括注解驱动的优缺点、常用注解如@Component及其衍生注解、@Scope、@PostConstruct、@PreDestroy、@Bean、@Value、@Autowired、@Qualifier、@Primary等的使用方法和场景。此外,还讲解了如何加载第三方资源、处理bean的生命周期以及加载properties文件等内容。
摘要由CSDN通过智能技术生成

什么是注解驱动

注解启动时使用注解的形式替代xml配置,将繁杂的spring配置文件从工程中彻底消除掉,简化书写

注解驱动的弊端

  • 为了达成注解驱动的目的,可能会将原先很简单的书写,变的更加复杂

  • XML中配置第三方开发的资源是很方便的,但使用注解驱动无法在第三方开发的资源中进行编辑,因此会增大开发工作量

常用注解

启动注解功能

启动注解扫描,加载类中配置的注解项(如果不写这个注解驱动,那么我们写的注解将不被识别)  

<context:component-scan base-package="packageName"/>

说明:

  • 在进行包所扫描时,会对配置的包及其子包中所有文件进行扫描

  • 扫描过程是以文件夹递归迭代的形式进行的

  • 扫描过程仅读取合法的java文件

  • 扫描时仅读取spring可识别的注解

  • 扫描结束后会将可识别的有效注解转化为spring对应的资源加入IoC容器

注意:

  • 无论是注解格式还是XML配置格式,最终都是将资源加载到IoC容器中,差别仅仅是数据读取方式不同

  • 从加载效率上来说注解优于XML配置文件

    这里注意:启动注解扫描前,一定要配置context命名空间支持,不然这个注解扫描的标签<context>就用不了

  • bean的定义

  • 名称:@Component @Controller @Service @Repository

  • 类型:类注解

  • 位置:类定义上方

  • 作用:设置该类为spring管理的bean

  • 范例:

    @Component
    public class ClassName{}
  • 说明:

    • @Controller、@Service 、@Repository是@Component的衍生注解,功能同@Component

  • 相关属性

    • value(默认):定义bean的访问id(也就是说我们注解后括号里写的是bean的访问id)

bean的作用域

  • 名称:@Scope

  • 类型:类注解

  • 位置:类定义上方

  • 作用:设置该类作为bean对应的scope属性

  • 范例:

    @Scope
    public class ClassName{}
  • 相关属性

    • value(默认):定义bean的作用域,默认为singleton

bean的生命周期

  • 名称:@PostConstruct、@PreDestroy

  • 类型:方法注解

  • 位置:方法定义上方

  • 作用:设置该类作为bean对应的生命周期方法

  • 范例:

​
@PostConstruct
public void init() { System.out.println("init..."); }

​

补加知识:根据类型去获取bean对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值