SpringMVC学习笔记(二)Bean的加载控制

不同的Bean由不同的框架加载,例如以下,controller(表现层bean)由springmvc加载,service、dao(业务bean和功能bean)等由spring加载,既可以精准写出要扫描的package,也可以采用排除法:

 @Configuration
 @ComponentScan(value = "com.yuan",
         excludeFilters = @ComponentScan.Filter(
                 type = FilterType.ANNOTATION,
                 classes = Controller.class
         )
 )
 //上面的注解含义是:以注解方式排除,排除所有是@controller的注解的bean
 public class SpringConfig {
 }

注意

有一个传导规则(我自己起的)

虽然SpringConfig中排除了controller的bean,但是由于扫描了com.yuan下所有非controller的包,所以也会扫描到SpringMvcConfig,由于SpringMvcConfig中带@Configuration注解,所以spring也会加载带该注解的类下的内容,所以就会把去掉的com.yuan.controller中的bean又添加回来。

image-20230310213153793

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注