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 "";
    }
}