Python 官方文档:入门教程 => 点击学习
目录1. Controller加载控制1.1 Controller加载控制与业务bean加载控制1.2 加载spring控制的bean的时候排除掉springMVC控制的bean(方
因为功能不同,要避免Spring错误的加载到Springmvc的bean
SpringMVC相关bean(表现层bean)
Spring控制的bean
SpringMVC相关bean加载控制
Spring相关bean加载控制
名称:@ComponentScan
类型:类注解
范例
package com.zhang.config;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.FilterType;
import org.springframework.stereotype.Controller;
@Configuration
@ComponentScan(value = "com.zhang", excludeFilters = @ComponentScan.Filter(
type = FilterType.ANNOTATION,
classes = Controller.class
))
public class SprinGConfig {
}
属性
创建spring容器加载spring配置文件,然后根据类型获取表现层的bean,如果不能获取则证明加载Spring控制的bean的时候成功排除掉SpringMVC控制的bean;这里值得一提的是,需要把SpringMVCConfig配置类上的@Configuration注释掉;
package com.zhang;
import com.zhang.config.SpringConfig;
import com.zhang.controller.UserController;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class App {
public static void main(String[] args) {
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(SpringConfig.class);
UserController userController = context.getBean(UserController.class);
System.out.println(userController);
}
}
证明加载Spring控制的bean的时候成功排除掉SpringMVC控制的bean
extends AbstractDispatcherServletInitializer
public class ServletContainersInitConfig extends AbstractDispatcherServletInitializer {
protected WEBApplicationContext createServletApplicationContext() {
AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
ctx.reGISter(SpringMvcConfig.class);
return ctx;
}
protected WebApplicationContext createRootApplicationContext() {
AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
ctx.register(SpringConfig.class);
return ctx;
}
protected String[] getServletMappings() {
return new String[]{"/"};
}
}
简化格式
extends AbstractAnnotationConfigDispatcherServletInitializer
public class ServletContainersInitConfig extends AbstractAnnotationConfigDispatcherServletInitializer{
protected Class<?>[] getServletConfigClasses() {
return new Class[]{SpringMvcConfig.class}
};
protected String[] getServletMappings() {
return new String[]{"/"};
}
protected Class<?>[] getRootConfigClasses() {
return new Class[]{SpringConfig.class};
}
}
到此这篇关于Spring bean加载控制实现方法的文章就介绍到这了,更多相关Spring bean加载控制内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: Springbean加载控制实现方法
本文链接: https://www.lsjlt.com/news/175649.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0