美文网首页
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