Spring Boot Only 在当前包和子包中查找 Bean - 如何获得重用
Spring Boot Only Finds Beans in current and sub packages - how do you obtain reuse
Spring boot 只查找当前包或子包中的bean。我正在创建多个重用 bean 和包的服务 - 我该怎么做?我是否需要使用 java 实现而忘记自动扫描?
蒂姆
您应该使用@ComponentScan 并告诉spring 您要扫描的所有包。 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 "";
}
}
Spring boot 只查找当前包或子包中的bean。我正在创建多个重用 bean 和包的服务 - 我该怎么做?我是否需要使用 java 实现而忘记自动扫描?
蒂姆
您应该使用@ComponentScan 并告诉spring 您要扫描的所有包。 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 "";
}
}