Spring boot只在当前包或子包中找到bean。我正在创建几个重用bean和包的服务 - 我该怎么做?我是否需要使用java实现并忘记自动扫描?
添
答案 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 "";
}
}