美文网首页
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