SpringBoot简化依赖配置
业精于勤,荒于嬉
这是Spring的依赖:
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.2.5.RELEASE</version> </dependency>
SpringMVC依赖:就是在Spring的基础上添加了,spring-web的依赖jar包,用来优化控制层。
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.5.RELEASE</version> </dependency>
SpringBoot的依赖:优化了spring和springmvc中的各种麻烦的配置文件,不用写那么多配置,让程序员专注开发。
springboot做web应用的依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
springboot简化配置的原理:
springboot程序启动的时候会先加载所有springboot提供的场景启动器对应的自动配置类,大概有100多个,但实际会根据@Condition注解加载满足条件的自动配置类。这些条件是根据我们自己导入的starter依赖进行判断。最后只会你引入的starter依赖来加入对应的自动配置类。
这些自动配置类可以向容器中提供很多组件bean,供我们使用,这就是实现自动配置的关键。
比如:你引入web开发的starter,就会提供HttpEncodingAutoConfiguration编码自动配置类和DispatcherServletAutoConfiguration自动配置类等,这两个自动配置类会往容器中创建CharacterEncodingFilter中文编码过滤器和DispatcherServlet等供我们使用。详情见:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>