Spring的@Bean注解用于告诉方法,产生一个Bean对象,然后这个Bean对象交给Spring管理。产生这个Bean对象的方法Spring只会调用一次,随后这个Spring将会将这个Bean对象放在自己的IOC容器中。
SpringIOC 容器管理一个或者多个bean,这些bean都需要在@Configuration注解下进行创建,在一个方法上使用@Bean注解就表明这个方法需要交给Spring进行管理。
package com.sora.springboot01.bean;
/**
* @Classname: MyBean
* @Description:
* @Author: Stonffe
* @Date: 2022/12/15 21:28
*/
public class MyBean {
public MyBean(){
System.out.println("init MyBean");
}
}
package com.sora.springboot01.config;
import com.sora.springboot01.bean.MyBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* @Classname: BeanConfig
* @Description:
* @Author: Stonffe
* @Date: 2022/12/15 21:30
*/
@Configuration
public class BeanConfig {
// 使用@Bean 注解表明myBean需要交给Spring进行管理
// 未指定bean 的名称,默认采用的是 "方法名" + "首字母小写"的配置方式
@Bean
public MyBean myBean(){
return new MyBean();
}
}
package com.sora.springboot01;
import com.sora.springboot01.config.BeanConfig;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
/**
* @Classname: BeanTest
* @Description:
* @Author: Stonffe
* @Date: 2022/12/15 21:33
*/
@SpringBootTest
public class BeanTest {
public static void main(String[] args) {
ApplicationContext context = new AnnotationConfigApplicationContext(BeanConfig.class);
Object bean = context.getBean("myBean");
System.out.println(bean);
}
}
标签:bean,Bean,context,使用,import,MyBean,public
From: https://www.cnblogs.com/xiaoovo/p/16986113.html