在我的示例弹簧启动应用程序中,我添加了一个自定义jar的依赖项。我的示例应用程序支持web和jpa。从罐子弹簧启动扫描类问题
我创建的jar包含一个Spring MVC控制器。下面是示例代码
@Controller
public class StartStopDefaultMessageListenerContainerController {
@Autowired(required=false)
private Map<String, DefaultMessageListenerContainer> messageListeners;
在我的代码的任何地方我还没有手动创建该控制器的bean实例。
问题 - 当我通过运行主类来启动我的弹簧启动应用程序时,我在自动装配DefaultMessageListenerContainer时遇到控制台中出现错误。
我的问题是,即使此类StartStopDefaultMessageListenerContainerController只存在于类路径中,它不应该创建bean,并且不应该发生自动装配。但是,spring boot会自动扫描这个类,然后尝试自动装入这些字段。
这是春天的正常行为,无论如何,我可以避免这种情况吗?
为什么不应该它产生的呢?如果它属于被扫描的软件包,它将被创建,所以起初我会说是的,这是应该发生的。 –
所以我不会把它放在任何包scanner.I中,我刚刚在我的pom.xml中添加了jar。据我所知,Spring引导会自动扫描所有属于@SpringBootApplication注释类的软件包。 – user3534483
和所有的子包。另外,如果另外一个'@ Configuration'与另外的'@ ComponentScan'一起出现,那么它也是有效的。 –