当前位置: 首页 > news >正文

SpringMVC中的bean加载控制

在之前的实例中,一个SpringMVC项目由两个需要加载的配置类SpringConfigSpringMvcConfig,它们分别需要加载不同的内容:
SpringConfig:加载业务bean(service),功能bean(DataSource,SqlSessionFactoryBean,MapperScannerConfigurer等)。
SpringMvcConfig:加载其相关bean(表现层bean),也就是controller包下的类。
那么如何让SpringSpringMVC分开加载各自的内容?
方法一:设置更精细的扫描范围,在SpringMVC的配置类SpringMvcConfig中将其扫描范围设置到controller;在Spring的配置类SpringConfig中将其扫描范围设置到servicedao
方法二:修改Spring配置类,设定扫描范围排除掉controller包中的bean

@Configuration
@ComponentScan(value="com.itheima",
	excludeFilters=@ComponentScan.Filter(
		type = FilterType.ANNOTATION,
		classes = Controller.class
	)
)
public class SpringConfig {
}
  • excludeFilters属性:设置扫描加载bean时,排除的过滤规则
  • type属性:设置排除规则,当前使用按照bean定义时的注解类型进行排除
    ANNOTATION:按照注解排除
    ASSIGNABLE_TYPE:按照指定的类型过滤
    ASPECTJ:按照Aspectj表达式排除,基本上不会用
    REGEX:按照正则表达式排除
    CUSTOM:按照自定义规则排除
  • classes属性:设置排除的具体注解类,当前设置排除@Controller定义的bean

注意:测试的时候,需要把SpringMvcConfig配置类上的@ComponentScan注解注释掉。
因为Spring配置类扫描的包是com.itheima,SpringMVC的配置类SpringMvcConfig上有一个@Configuration注解,也会被Spring扫描到,这样又会扫描到controller

相关文章:

  • 【小程序】如何开发属于自己的一款小程序
  • c#入门-goto语句
  • Java里一个线程调用了Thread.interrupt()到底意味着什么?
  • STM32——TIM输出比较
  • 图的遍历(深度DFS与广度BFS)
  • STM32——OLED调试工具与显示屏
  • 【Linux】操作系统及进程概念
  • 第二章:Swagger2
  • 2022 CSDN年度报告已出炉
  • 场景题:假设10W人突访,你的系统如何做到不 雪崩?
  • 自然语言处理 第十章 信息抽取 复习
  • 【C++进阶】IO流
  • 【学Vue就像玩一样】什么是计算属性?什么使监视属性?
  • 【Vue路由】props配置、replace属性、编程式路由导航、缓存路由组件
  • API接口测试简介
  • 【附node操作实例】redis简明入门系列—字符串类型
  • Brief introduction of how to 'Call, Apply and Bind'
  • CSS盒模型深入
  • IDEA 插件开发入门教程
  • java2019面试题北京
  • javascript数组去重/查找/插入/删除
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • nodejs实现webservice问题总结
  • Python学习之路16-使用API
  • React-生命周期杂记
  • Redis中的lru算法实现
  • webgl (原生)基础入门指南【一】
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 聊一聊前端的监控
  • 前嗅ForeSpider中数据浏览界面介绍
  • 试着探索高并发下的系统架构面貌
  • 新书推荐|Windows黑客编程技术详解
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • 转载:[译] 内容加速黑科技趣谈
  • Hibernate主键生成策略及选择
  • 说说我为什么看好Spring Cloud Alibaba
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • #define用法
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (HAL库版)freeRTOS移植STMF103
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (第一天)包装对象、作用域、创建对象
  • (动手学习深度学习)第13章 计算机视觉---微调
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (附源码)springboot宠物管理系统 毕业设计 121654
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (算法)N皇后问题
  • (淘宝无限适配)手机端rem布局详解(转载非原创)