java - Spring @Configuration 是如何被发现的?

标签 java spring spring-mvc

在使用 xml 配置的 Web 应用程序中,您在 web.xml 中指定您的应用程序上下文所在的位置,以便 Spring 可以创建您的 bean。使用 @Configuration 是否扫描所有包以查找此注释?

最佳答案

请使用 @ComponentScan 注释和 @Configuration 指定 spring 将在其中创建 bean 的基础包。

下面的代码指定了如何在类级别使用 @ComponentScan 注释。

@ComponentScan(basePackages = "basepackageName", 
               excludeFilters = 
                   @ComponentScan.Filter(value = Controller.class, 
                                         type = FilterType.ANNOTATION)

还实现了 WebApplicationInitializer 接口(interface)和它的 onStartup() 初始化 AnnotationConfigWebApplicationContext 并注册您的配置类,如下所示

AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext(); context.register(Configuration.class);

这里的配置类包含@Configuration。 –

关于java - Spring @Configuration 是如何被发现的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32479481/

相关文章:

java - 从 JSP 中取回对象

java - 为什么多次调用 contextInitialized()?

java - Blackberry Java Sqlite 多记录插入

java - 使用 Jackson 将 java.time.localdate 序列化为 json

spring - Spring 中的宽松绑定(bind)真的不支持 @Value 注释吗?

java - 创建类路径资源 [META-INF/spring/app-context.xml] 中定义的名称为 'tilesConfigurer' 的 bean 时出错

java - 信息 : No Spring WebApplicationInitializer types detected on classpath (jre 1. 8)

java - 为什么 Clob 的创建与 Connection 类相关联?

java - 具有自定义类型更改的 Hibernate 字段,但对象未标记为 'dirty' 进行更新

spring - Spring Boot ElasticSearch端口