美文网首页
Bean的三种创建方式

Bean的三种创建方式

作者: 一块自由的砖 | 来源:发表于2019-07-16 16:18 被阅读0次

    在SpringBoot的实际使用中,基本上不再使用以前的xml配置,本文整理了声明bean的使用方式。

    1. 注解方式
      在类上添加@Component, @Service等注解(@Controller表示提供http接口的bean, @Configuration表示配置类Bean)

    添加上这种注解的类,会被Spring容器扫描加载,自动生成单例的bean。

    @Component
    public class DemoBean {
        private String type = "DemoBean";
    
        public String getName(String name) {
            return name + ":" + type;
        }
    }
    

    在实际测试时,发现无法获取上面的bean,需要注意下bean的包路径,是否在被你程序的扫描路径包含

    1. @Bean定义方式
      主要是结合Configuration来定义bean,首先是声明一个配置类,然后再配置类中,通过返回bean对象的方法形式来声明bean。
    public class DemoServiceImpl {
        private String type = "DemoServiceImpl";
    
        public String getName(String name) {
            return name + " :" + type;
        }
    }
    
    @Configuration
    public class DemoConfig {
        @Bean
        public DemoService demoService() {
            return new DemoServiceImpl();
        }
    }
    

    需要说明的一点是被声明在方法上,方法都需要有一个返回类型,而这个类型就是注册到IOC容器的类型,接口和类都是可以的,介于面向接口原则,提倡返回类型为接口。

    1. @Import注册Bean

    这种方法最为直接,直接把指定的类型注册到IOC容器里,成为一个java bean,可以把@Import放在程序的入口,在程序启动时自动完成注册bean的过程。

    @Import({ LogService.class, PrintService.class})
        public class RegistryBean {
    }
    

    相关文章

      网友评论

          本文标题:Bean的三种创建方式

          本文链接:https://www.haomeiwen.com/subject/cystlctx.html