33期bean加载控制

2023-08-02  本文已影响0人  萧修

Controller加载控制与业务bean加载控制

业务bean(service)
功能bean(DataSource等)

SpringMVC加载的bean对应的包均在com.itheima.controller包内

方式一: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[]{"/"};
    }
}
上一篇下一篇

猜你喜欢

热点阅读