容器功能-day01

本文介绍了SpringBoot中容器配置的相关注解,包括@Configuration的使用,详细解释了proxyBeanMethods参数的影响,以及@Import、@Conditional的实例应用。文章通过代码示例展示了如何在SpringBoot项目中管理组件,并讨论了@ConditionalOnBean的条件装配机制。
摘要由CSDN通过智能技术生成

1.Spring注入组件的注解

Spring中的传统注解@Component、@Controller、@Service、@Repository,在SpringBoot中仍然有效。

2.@Configuration

@Configuration是 Spring 3.0 添加的一个注解,用来代替原先 Spring 中的 applicationContext.xml 容器配置文件,所有这个配置文件里面能做到的事情都可以通过这个注解所在类来进行注册。

在SpringBoot项目中,依然可以使用Spring的容器文件来注入bean/获取bean,但是不推荐使用

2.1应用实例

例子:使用SpringBoot的注解@Configuration添加/注入组件

(1)Monster.java

 
package com.li.springboot.bean;
/**
* @author 李
* @version 1.0
*/
public class Monster {
private Integer id;
private String name;
private Integer age;
private String skill;
//省略无参,全参构造器,getter,setter以及toString方法
}

(2)配置类:BeanConfig.java

 
package com.li.springboot.config;
import com.li.springboot.bean.Monster;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Scope;
/**
* @author 李
* @version 1.0
*
* 1.@Configuration注解标识这是一个配置类,等价于spring的容器配置文件
* 2.这时我们可以通过@Bean注解注入Bean对象到容器中
* 3.当一个类被@Configuration标识,这个类也会被注入到容器中,因此也能在容器中获取这个类对象
*/
@Configuration
public class BeanConfig {
/**
* 1.@Bean表示给容器添加了一个组件,即Monster的bean对象
* 2.name = "monster_n1" 在配置,注入Bean时指定的名字/id,如果没有设置,
* 就使用方法名 monster01() :作为Bean的名字/id
* 3.Monster :方法的返回类型就是注入的bean类型
* 4.new Monster(200,"牛魔王",500,"芭蕉扇") 就是注入到容器中的具体 bean信息
* 5.默认为单例对象,如果要做成多例的,需要添加注解@Scope("prototype")
*/
@Bean(name = "monster_n1")
public Monster monster01() {
return new Monster(200, "牛魔王", 500, "芭蕉扇");
}
}

(3)MainApp.java

 
package com.li.springboot;
import com.li.springboot.bean.Monster;
import org.springframework.boot.SpringAp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值