bean扫描的配置详解

简介: bean扫描的配置详解


image.png

1.mvc:annotation-driven

:确定调用哪个controller的哪个方法来处理当前请求。如果没有回找不到@RequestMapping指定的路径。

2.context:annotation-config

扫描的注解如下:@Autowired,@Resource 、@PostConstruct、@PreDestroy,@PersistenceContext,@Required。

3.context:component-scan

:context:component-scan做了context:annotation-config要做的事情,还额外支持@Component,@Repository,@Service,  @Controller @RestController, @ControllerAdvice, and @Configuration 注解。

所以配置context:component-scan就不需要配置context:annotation- config。

     <context:component-scan base-package="test.*.controller" use-default-filters="false">        
            <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>     
            <context:include-filter type="annotation" expression="org.springframework.web.bind.annotation.ControllerAdvice"/> 
     </context:component-scan>

use-default-filters=“false”,不使用默认过滤器(所有包都不自动扫描),需要

,全部包都扫描,除了标签里面配置的。

      <context:component-scan base-package="test.*">
        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
        <context:exclude-filter type="annotation" expression="org.springframework.web.bind.annotation.ControllerAdvice"/>
      </context:component-scan> 


相关文章
|
13天前
|
Java Spring
【Spring】方法注解@Bean,配置类扫描路径
@Bean方法注解,如何在同一个类下面定义多个Bean对象,配置扫描路径
138 73
|
XML Java 数据库连接
【spring源码系列-03】xml配置文件启动spring时refresh的前置工作
【spring源码系列-03】xml配置文件启动spring时refresh的前置工作
121 0
|
XML 开发框架 JSON
Spring注解扫描:ComponentScan使用及原理详解
当下`Spring Boot`之所以能成为主流首选开发框架,得益于其核心思想:**约定大于配置**和`Spring`提供的基于注解配置式开发,解决了繁琐的`XML`文件配置问题,大大提高了开发效率。基于`Spring MVC`三层架构框架开发的项目中大量用到`@Controller, @Service...`等注解,即使这些类在不同包路径下,都能被注入到`Spring`容器中,然后可以相互之间进行依赖注入、使用。这时候就有一个问题了:`Spring`是如何将声明了`@Component`注解的Bean注入到`Spring`容器当中的呢?怎么做到bean的类定义可以随意写在不同包路径下?
540 0
|
XML 前端开发 Java
Spring-基于注解的配置[01定义Bean+扫描Bean]
Spring-基于注解的配置[01定义Bean+扫描Bean]
139 0
|
XML 消息中间件 SpringCloudAlibaba
Spring——2、使用@ComponentScan自动扫描组件并指定扫描规则
在实际项目中,我们更多的是使用Spring的包扫描功能对项目中的包进行扫描,凡是在指定的包或其子包中的类上标注了@Repository、@Service、@Controller、@Component注解的类都会被扫描到,并将这个类注入到Spring容器中。 Spring包扫描功能可以使用XML配置文件进行配置,也可以直接使用@ComponentScan注解进行设置,使用@ComponentScan注解进行设置比使用XML配置文件来配置要简单的多。
481 0
Spring——2、使用@ComponentScan自动扫描组件并指定扫描规则
|
前端开发 Java 数据格式
springMVC 不扫描 controller 中的方法
最近把之前的一个Maven项目在一个新的电脑环境上导入Eclipse,启动时却发现不扫描 controller 中的方法 下面是正确的 spring-mvc.xml 文件 text/html;charset=UTF-8 ...
1157 0
|
缓存 Java 索引
Spring 类路径下 Bean 扫描实现分析
前言 接上篇 Spring 5 启动性能优化之 @Indexed,上篇提到 Spring 可以在编译时生成索引文件,在应用上下文启动时可以通过索引文件查找所需要的注册的 Bean,如果不存在索引文件或者配置了不处理索引文件的参数,则不会从索引文件获取元数据。这时,Spring 便需要从指定的包中扫描 bean。
550 0
|
Java Maven
SpringBoot - @ComponentScan & @SpringBootApplication 扫描覆盖问题
SpringBoot - @ComponentScan & @SpringBootApplication 扫描覆盖问题
551 0
SpringBoot - @ComponentScan & @SpringBootApplication 扫描覆盖问题
|
Java Spring 容器
Spring注解(二):@ComponentScan自动扫描组件
前一篇文章:Spring注解(一):@Configuration、@Bean给容器中注册组件,提到了如何通过使用配置文件的方式和注解的方式进行简单的组件注册。这里将介绍如何使用@ComponentScan注解进行组件的自动扫描。
424 0
Spring注解(二):@ComponentScan自动扫描组件
|
Java 应用服务中间件 Spring
Spring中PropertySource属性源配置文件的优先级、顺序问题大解析(加载流程)【享学Spring】(上)
Spring中PropertySource属性源配置文件的优先级、顺序问题大解析(加载流程)【享学Spring】(上)
Spring中PropertySource属性源配置文件的优先级、顺序问题大解析(加载流程)【享学Spring】(上)