SpringIOC常用注解

1.注册bean的注解

 * 注解@Component:
 *  作用:加在类上,用于把这个类注册bean对象,放到IoC容器里
 *  bean的名称:
 *      如果没有配置bean的名称,默认名称是“类名称首字母小写”
 *      给bean起名称:@Component("bean的名称")
 *
 * 注解@Component的语义化延伸注解:
 *  1. @Controller:用于web层的类上,注册bean对象
 *  2. @Service:用于service层的类上,注册bean对象
 *  3. @Repository:用于dao层的类上,注册bean对象

2.配置bean的常用注解

2.1   配置bean的作用范围:

  • @Scope:配置bean的作用范围,相当于bean标签的scope属性。加在bean对象上

  • @Scope的常用值有:

    • singleton:单例的,容器中只有一个该bean对象

      • 何时创建:容器初始化时

      • 何时销毁:容器关闭时

    • prototype:多例的,每次获取该bean时,都会创建一个bean对象

      • 何时创建:获取bean对象时

      • 何时销毁:长时间不使用,垃圾回收

2.2   配置bean生命周期的方法

  • @PostConstruct是方法级别的注解,用于指定bean的初始化方法

  • @PreDestroy是方法级别的注解,用于指定bean的销毁方法

3.依赖注入的注解

  • @Autowired:byType注入。根据依赖项的类型,从IoC容器里查找bean对象并注入进来
    • 如果找到多个:根据依赖项的名称,查找并注入

    • 如果找到1个:直接注入进来

    • 如果找到0个:报错

    • @Autowired + @Qualifier("bean名称"):byName注入。把指定名称的bean对象注入进来

      注意:@Qualifier注解不能独立使用,必须要在byType基础上使用

    • @Resource(name="bean名称"):byName注入。把指定名称的bean对象注入进来

  • 注入简单值:

    • @Value("张三"):直接把值注入进去

    • @Value("${properties里的key}"):把properties里指定key的值注入进来

      注意:必须是已经引入了properties文件,否则@Value里的表达式不生效

4.纯注解的AOP

4.1 @Configuration配置类

简介

  • @Configuration把一个Java类声明为核心配置类

    • 加上Java类上,这个Java类就成为了Spring的核心配置类,用于代替applicationContext.xml

    • @Component的衍生注解,所以:核心配置类也是bean,里边可以注入依赖

4.2 @ComponentScan

简介

@ComponentScan配置组件注解扫描

  • basePackages或者value属性:指定扫描的基本包

4.3@PropertySource

  • @PropertySource用于加载properties文件

    • value属性:指定propertis文件的路径,从类加载路径里加载

4.4@Import

@Import用于导入其它配置类

  • Spring允许提供多个配置类(模块化配置),在核心配置类里加载其它配置类

  • 相当于xml中的<import resource="模块化xml文件路径"/>标签

4.5@Bean声明bean

1) @Bean定义bean

  • @Bean注解:方法级别的注解

    • 用于把方法返回值声明成为一个bean,作用相当于<bean>标签

    • 可以用在任意bean对象的方法中,但是通常用在@Configuration标记的核心配置类中

  • @Bean注解的属性:

    • value属性:bean的id。如果不设置,那么方法名就是bean的id

2) @Bean的依赖注入

  • @Bean注解的方法可以有任意参数,这些参数即是bean所需要的依赖,默认采用byType方式注入

  • 可以在方法参数上增加注解@Qualifier,用于byName注入

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值