使用 meta-inf 自动装配 bean

Autowire bean with meta-inf

我有自己的带有 spring 组件的 jar 文件。我正在尝试在另一个项目中自动装配这个 bean,但没有 @Import@ComponentScan 我无法做到这一点。是否可以在没有额外注释的情况下构建 jar 并在另一个项目中使用它的 bean? 例如我需要的:

@Configuration
public class Config {
    @Bean
    public String init(@Autowired DistributorMessageSender distributorMessageSender) {
        WebSocketMessage webSocketMessage = WebSocketMessage.builder().build();
        distributorMessageSender.send(Channel.WEBSOCKET, webSocketMessage);
        return new String();
    }
}

我想避免的事情:

scanBasePackages = {"app", "distributor.client"}

我找到的解决方案是:构建我自己的自动配置 class。 它允许您在没有任何导入注释的情况下从 jar 自动装配 bean。 我遵循的指南:https://docs.spring.io/spring-boot/docs/2.0.0.M3/reference/html/boot-features-developing-auto-configuration.html#boot-features-locating-auto-configuration-candidates