springBoot注解系列【一】 @Configuration

1.简介

@Configuration 标志这是一个配置类 等价于我们的xml配置文件 程序员可以通过@Bean 注解注入bean对象到容器 ,默认是单例注入

2.对比spring xml方式注入

xml方式注入中 我们需要定义一大串的东西才能注入Monster这个对象
在这里插入图片描述

3. 使用

/**
 * 1. @Configuration 标志这是一个配置类 等价于我们刚刚的xml配置文件
 * 2. 程序员可以通过@Bean 注解注入bean对象到容器
 */

@Configuration
public class BeanConfig {

    /**
     * @Bean :给容器添加组件 就是Monster bean
     * monster01 表示注入 bean 在容器中的id
     * new Monster 表示注入到容器中的bean的信息
     */
    @Bean
    public Monster monster01(){
        return new Monster(200,"牛魔王",500,"打拳");
    }
}

4.别名

如果你想对bean取一个别名 可以在注解@Bean上加上name属性或value属性

public class BeanConfig {

    /**
     * @Bean :给容器添加组件 就是Monster bean
     * monster01 表示注入 bean 在容器中的id
     * new Monster 表示注入到容器中的bean的信息
     */
    @Bean("monster_aaa")
    public Monster monster01(){
        return new Monster(200,"牛魔王",500,"打拳");
    }
}

5.注意事项

  1. 当一个类被@Configuration注解,则该类也会被注入到容器中
  2. 如果你想将注入的bean设置为多例模式(默认单例),设置 @Configuration(proxyBeanMethods = false)
/**
 1. (1) (proxyBeanMethods = true)、【保证每个@Bean方法被调用多少次返回的组件都是单实例的, 是代理方式】
 2. (2) (proxyBeanMethods = false)【每个@Bean方法被调用多少次返回的组件都是新创建的, 是非代理方式】
 */
@Configuration(proxyBeanMethods = false)
public class BeanConfig {

    /**
     * @Bean :给容器添加组件 就是Monster bean
     * monster01 表示注入 bean 在容器中的id
     * new Monster 表示注入到容器中的bean的信息
     */
    @Bean
    public Monster monster01(){
        return new Monster(200,"牛魔王",500,"打拳");
    }
}
  1. 用该方式获取多例bean不可以直接使用ioc容器获取bean ,而是需要先获取该类的BeanConfig,然后再通过该类的BeanConfig获取对应的bean对象
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

搬砖的阿陆

你的鼓励就是我前进的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值