为什么spring boot正在加载另一个组件,即使我没有明确导入?

时间:2017-04-03 14:11:47

标签: java spring spring-boot

我没有使用@import注释,虽然上下文能够加载bean(SalesService)它应该抛出异常找到代码。

@SpringBootApplication
public class App {

    public static void main(String[] args) {
        ApplicationContext context = (ApplicationContext) SpringApplication.run(CustomerConfig.class);
        CustomerService customer = (CustomerService) context.getBean("customerBean");
        customer.printMessage("setting message for CustomerService");
        SalesService sales = (SalesService)context.getBean("salesBean");
        sales.printMessage("setting message for SalesService");
    }

}

1 个答案:

答案 0 :(得分:0)

Anntotation @SpringBootApplication在注释类的包装上执行@ComponentScan

这意味着同一个或子包中的每个@ Component,@ Controller,@ Service都会被实例化。

看看here

您可以通过为`@ SpringBootApplication'提供属性来控制它。 Docs