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

可以简化

相关推荐
charlie114514191几秒前
嵌入式C++教程实战之Linux下的单片机编程(9):HAL时钟使能 —— 不开时钟,外设就是一坨睡死的硅
linux·开发语言·c++·单片机·嵌入式硬件·c
diving deep5 分钟前
从零构建大模型--实操--搭建python环境
开发语言·python
We་ct6 分钟前
LeetCode 172. 阶乘后的零:从暴力到最优,拆解解题核心
开发语言·前端·javascript·算法·leetcode·typescript
心勤则明6 分钟前
Spring AI Alibaba Skills 的渐进式披露与热更新实战
java·后端·spring
netyeaxi13 分钟前
Spring:如何查看Spring应用对外提供了哪些API接口?
java·spring
一只大袋鼠15 分钟前
MySQL 事务从入门到精通(上):概念、操作、特性、隔离级别全解析
java·mysql·事务
沉淀粉条形变量17 分钟前
rust 单例模式
开发语言·单例模式·rust
Database_Cool_19 分钟前
【无标题】
数据库·阿里云·ai
光电笑映21 分钟前
C++11 新特性全解:语法糖、容器进化与可调用对象包装
开发语言·c++
qq_白羊座24 分钟前
Langchain、Cursor、python的关系
开发语言·python·langchain