Controller加载控制与业务bean加载控制
- SpringMVC相关bean(表现层bean)
- Spring控制的bean
业务bean(service)
功能bean(DataSource等)
- SpringMVC相关bean加载控制
SpringMVC加载的bean对应的包均在com.itheima.controller包内
- Spring相关bean加载控制
方式一:Spring加载的bean设定扫描范围为com.itheima.排除掉controller包内的bean
方式二:Spring加载的bean设定扫描范围为精准扫描,例如service,dao等
excludeFilters
排除扫描路径中加载的bean,需要指定类别(type)和具体项
includeFilters
加载指定的
//全部扫描
@ComponentScan("com.itheima")
//排除某个包下的扫描
@ComponentScan(value = "com.itheima",
excludeFilters = @ComponentScan.Filter(
type = FilterType.ANNOTATION,
classes = Controller.class
)
)
public class SpringConfig {
}
扩充一点servlet配置,继承AbstractAnnotationConfigDispatcherServletInitializer
public class ServletConfig extends AbstractAnnotationConfigDispatcherServletInitializer {
protected Class<?>[] getRootConfigClasses() {
return new Class[]{SpringConfig.class};
}
protected Class<?>[] getServletConfigClasses() {
return new Class[]{SpringMvcConfig.class};
}
protected String[] getServletMappings() {
return new String[]{"/"};
}
}
网友评论