我引入spring-boot-starter-web后会引入spring-boot-autoconfigure的jar包。Spring是扫描工程下所有jar包下的META-INF下的spring.factories文件中的内容然后将自动配置类加入容器中,那么是否会将所有的自动配置类加入容器中,如果是这样是不是会很浪费,如果不是选择加载的地方在哪。萌新求大佬解释。
我引入spring-boot-starter-web后会引入spring-boot-autoconfigure的jar包。Spring是扫描工程下所有jar包下的META-INF下的spring.factories文件中的内容然后将自动配置类加入容器中,那么是否会将所有的自动配置类加入容器中,如果是这样是不是会很浪费,如果不是选择加载的地方在哪。萌新求大佬解释。
嗯,谢谢大神回答。这个排除的方法我学到了。我还是有点疑惑的是,任意一个的starter都会引入spring-boot-autoconfigure所有的自动配置类,并加载到spring容器中吗,如:只引入了web的starter的也会将spring-boot-autoconfigure下的SpringCloud的自动配置类加载进入是吗,我这么理解对吗,还是SpringBoot在加载这些配置的类的时候会自己判断,没有SpringCloud的starter,就不加载SpringCloud的自动配置到Spring的容器中。
4 回答1.7k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
2 回答2k 阅读✓ 已解决
4 回答2.2k 阅读
3 回答1.1k 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
1 回答839 阅读✓ 已解决
你可以选择把你不想自动配置的类排除掉, 通过注解或配置属性
或是通过配置文件中的
spring.autoconfigure.exclude
属性把不想加载的配置类排除掉.