SpringMVC——bean加载控制

controller加载控制与业务bean加载控制

SpringMVC相关bean(表现层bean)

Spring控制的bean

  1. 业务bean(Service)
  2. 功能bean(DataSource等)

因为功能不同,如何避免Spring错误的加载到SpringMVC的bean?

dart 复制代码
加载Spring控制的bean的时候排除掉SpringMVC控制的bean

SpringMVC相关bean加载控制

SpringMVC加载的bean对应的包均在com.baidu.controller包内

Spring相关bean加载控制

  1. 方式一:Spring加载的bean设定扫描范围为com.baidu,排除掉controller包内的bean
  2. 方式二:Spring加载的bean设定扫描范围为精准范围,例如service包,dao包等(这里用数组)
  3. 方式三:不区分Spring与SpringMVC的环境,加载到同一个环境中

方式一测试:

SpringConfig

UserController

App

此时并未排除

修改注解

此时已经排除

注意:

AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(SpringConfig.class);

方式和如下方式一样

AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(); ctx.register(SpringConfig.class);

如果还存在

排除后是会被这里@ComponentScan("com.baidu.controller")加载的

需要注释@ComponentScan("com.baidu.controller")

bean的加载格式

可以简化

相关推荐
考虑考虑7 小时前
JDK25模块导入声明
java·后端·java ee
_小马快跑_8 小时前
Java 的 8 大基本数据类型:为何是不可或缺的设计?
java
jiayou649 小时前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
Re_zero11 小时前
线上日志被清空?这段仅10行的 IO 代码里竟然藏着3个毒瘤
java·后端
洋洋技术笔记11 小时前
Spring Boot条件注解详解
java·spring boot
程序员清风1 天前
程序员兼职必看:靠谱软件外包平台挑选指南与避坑清单!
java·后端·面试
李广坤1 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
皮皮林5511 天前
利用闲置 Mac 从零部署 OpenClaw 教程 !
java
华仔啊1 天前
挖到了 1 个 Java 小特性:var,用完就回不去了
java·后端
SimonKing1 天前
SpringBoot整合秘笈:让Mybatis用上Calcite,实现统一SQL查询
java·后端·程序员