Spring Boot Only查找当前和子包中的Bean - 如何获得重用

时间:2015-01-28 22:18:33

标签: spring spring-boot

Spring boot只在当前包或子包中找到bean。我正在创建几个重用bean和包的服务 - 我该怎么做?我是否需要使用java实现并忘记自动扫描?

1 个答案:

答案 0 :(得分:0)

您应该使用@ComponentScan并告诉您要扫描所有要扫描的软件包。 http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/context/annotation/ComponentScan.html

你不需要那样做

ApplicationContext ctx = new AnnotationConfigApplicationContext(KafkaMqttBridgeConfig.class); 

而是实现BeanFactoryAware使用

@Autowired private KafkaMqttBridge bridge; 

这应该有效

<强>更新

我修改了一些类,现在它可以工作了。

Application.java

@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

SpringBootTestController.java

@RestController
@RequestMapping("/service")
public class SpringBootTestController {

    @Autowired
    public SpringBootTestController(SpringBootTest springBootTest) {
        springBootTest.fakeMethod();
    }

    /**
     *
     * @return the get method that return the service info and statistics
     */
    @RequestMapping(method = RequestMethod.GET)
    public String getServiceInfo() {
        return "";
    }
}