美文网首页
33期bean加载控制

33期bean加载控制

作者: 萧修 | 来源:发表于2023-08-02 01:00 被阅读0次

    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[]{"/"};
        }
    }
    

    相关文章

      网友评论

          本文标题:33期bean加载控制

          本文链接:https://www.haomeiwen.com/subject/yliqpdtx.html