gpt4 book ai didi

java - Spring @Configuration 和

转载 作者:IT老高 更新时间:2023-10-28 13:54:16 27 4
gpt4 key购买 nike

我有一个场景 configuring Spring Security on embedded Jetty如果我使用 JavaConfig 来配置 Jetty 服务器,这似乎有点解决了。

因此,对于大型项目来说,JavaConfig 而不是 XML 可能是更好的选择。但是,XML 命名空间中有一些细节,例如 <context:component-scan /> @Configuration 中不容易获得的设置。

我发现 ApplicationContextAware荣获@Configuration类,所以以下是可能的

@Configuration
public class FooConfig implements ApplicationContextAware {
@Override
public void setApplicationContext(ApplicationContext applicationContext) {
((AnnotationConfigApplicationContext) applicationContext).scan("org.example");
}
}

另一种选择,即 documented , 是有 @Configuration类使用 @ImportResource注释并拉入现有的 XML 文件:

@Configuration
@ImportResource("applicationContext-withComponentScan.xml")
public class BarConfig {}

我想问题是“以这种方式滥用 ApplicationContextAware 是不好的形式,还是真的不是滥用”?这种方法让人感觉有些奇怪,所以如果 Spring 的家伙以某种我没有发现的方式涵盖了这个,我不会感到惊讶。

对于感兴趣的人,问题与使用 @Resource 扫描 Jersey 设置有关。和 @Provider我宁愿不必手动管理类/XML 配置中的条目的类。

最佳答案

现在 Spring 3.1准备就绪,如果您使用的是 Spring 3.1,则可以安全地使用 @ComponentScan。作为过时的答案之一,它不仅适用于 Spring MVC。您可以按如下方式使用它:

@Configuration
@ComponentScan({"com.foo.bar", "org.foo.bar"})
public class AppConfig{ /** config code */ }

这里是文档 http://static.springsource.org/spring/docs/3.1.x/javadoc-api/org/springframework/context/annotation/ComponentScan.html

关于java - Spring @Configuration 和 <context :component-scan/>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6683771/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com