1.因功能的不同,如何避免Spring错误加载到SpringMVC的bean——加载Spring控制的bean的时候排除掉SpringMVC控制的bean。

| package com.itheima.config; |
| |
| import org.springframework.web.context.WebApplicationContext; |
| import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; |
| import org.springframework.web.servlet.support.AbstractDispatcherServletInitializer; |
| |
| public class ServletInitConfig extends AbstractDispatcherServletInitializer { |
| |
| protected WebApplicationContext createServletApplicationContext() { |
| AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext(); |
| ctx.register(springMvcConfig.class); |
| return ctx; |
| } |
| |
| protected String[] getServletMappings() { |
| return new String[]{"/"}; |
| } |
| |
| protected WebApplicationContext createRootApplicationContext() { |
| AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext(); |
| ctx.register(springConfig.class); |
| return ctx; |
| } |
| } |
| package com.itheima.config; |
| |
| import org.springframework.context.annotation.ComponentScan; |
| import org.springframework.context.annotation.Configuration; |
| |
| @Configuration |
| @ComponentScan("com.itheima.controller") |
| public class springMvcConfig { |
| } |
| package com.itheima.config; |
| |
| import com.itheima.controller.UserController; |
| import org.springframework.context.annotation.ComponentScan; |
| import org.springframework.context.annotation.Condition; |
| import org.springframework.context.annotation.Configuration; |
| import org.springframework.context.annotation.FilterType; |
| |
| @Configuration |
| |
| @ComponentScan(value = "com.itheima",//排除controller中的bean |
| excludeFilters = @ComponentScan.Filter( |
| type = FilterType.ANNOTATION, |
| classes = UserController.class |
| ) |
| |
| ) |
| public class springConfig { |
| } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理