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的加载格式

可以简化

相关推荐
Flittly几秒前
【AgentScope Java新手村系列】(16)从RAG到多路检索
java·spring boot·spring
小兔崽子去哪了7 分钟前
Java 生成二维码解决方案
java·后端
人活一口气5 小时前
从JVM调优到MCP协议:Java全栈技术体系深度总结与企业级架构实践
java·spring boot
NE_STOP6 小时前
Vibe Coding -- 完整项目案例实操
java
荣码6 小时前
GraphRAG:普通RAG只能回答"点"的问题,我踩了4个坑才搞懂
java·python
SimonKing7 小时前
Google第三方授权登录
java·后端·程序员
明月光8187 小时前
从一行 @Builder 说起:重新拾起 Java 的 Lombok、注解与 Builder 模式
java
考虑考虑16 小时前
Mybatis实现批量插入
java·后端·mybatis
咖啡八杯17 小时前
GoF设计模式——中介者模式
java·后端·spring·设计模式
青石路20 小时前
记一次多JDK版本问题的排查,一坑套一坑,差点没爬上来
java