spring Boot关于Bean的集中注入方式,以及初始化过程

1、创建bean的三种方式

  使用bean注解直接注入

  实现FactoryBean

  在其他类中间接创建

     第一种方式

    创建配置类@Configration

    创建执行类

              创建要注入的类

  

1 @Configuration
2 public class MyConfig {
3 
4     @Bean
5     @Scope("prototype")
6     public MyBean createBean(){
7         return new MyBean();
8     }
public class AppDemo {
    public static void main(String[] args){
        AnnotationConfigApplicationContext context=new AnnotationConfigApplicationContext(MyConfig.class);
         System.out.println(context.getBean("Mybean"));
        context.close();
    }
}
public class MyBean {

}

@Scope bean默认为单例的模式,使用Scop而注解可以更换为双例

扫描二维码关注公众号,回复: 6836060 查看本文章

context.getBean()   可以通过类,和方法名进行获取。方法名需要在Bean中加入方法名称@Bean("createBean")

AnnotationConfigApplicationContext  源码中  有多种注入类的方式,截取其中的2点

  第二种方式
   
public class RunnableFactoryBean implements FactoryBean<jeep> {

    @Override
    public jeep getObject() throws Exception {
       return  new jeep();
    }
    @Override
    public Class<?> getObjectType() {
        return jeep.class;
    }

    @Override
    public boolean isSingleton() {
        return true;
    }
}
 @Bean
    public RunnableFactoryBean createRunnableFactoryBean(){
        return new RunnableFactoryBean();
    }

  第三种方式

public class CarFactory {
        public cat createCat(){
            return new cat();
        }
}

  需要创建一个cat类

       在CarFactory中创建cat

      在配置文件中configration中注入bean

      main方法输出类 

猜你喜欢

转载自www.cnblogs.com/huimou/p/11224139.html
今日推荐