(一)springboot实战——为什么是springboot?

前言

为什么是springboot?江湖夜雨,传说依旧,不懂springboot一技之长,如何混迹java圈,本节内容我们介绍一下spring的一些基本特性。尤其是springboot3的基本特性,使得我们更好的理解springboot3。

正文

  • springboot的特点

-可以快速的创建一个独立的spring项目,取代老式的SSM项目

- 直接嵌入Tomcat、Jetty、Undertow等servlet容器,启动即部署,不需要单独安装servlet容器

- 简化pom依赖,可以通过starter启动器安装各种场景依赖,如redis、mq、mybais等,也可以自定义starter启动器,功能可插拔

- 按需配置,约定大于配置,所有的配置参数,都有默认配置,如果不配置,就使用默认的配置

- 提供生产级特性:监控指标、健康检查、外部化配置等

总结:开发简化、配置简化、部署简化、监控简化、运维简化、项目整合简化。、

  • springboot的依赖管理机制

- 通过场景启动器starter导入相关maven依赖,根据maven的依赖传递原则,starter启动器的依赖会自动被自定义项目依赖。

- springboot的父项目进行版本号的管理,父项目将常用的资源版本号定义好,避免版本冲突和适配等一系列问题

(一)springboot实战——为什么是springboot?_第1张图片

 - 也可利用maven的就近原则,自定义资源依赖的版本号

  •  springboot的自动配置机制

- springboot的包扫描规则

        a.默认只会扫描主程序类注解@SpringBootApplication下所在的包及其子包

        b.自定义包扫描路径:使用@SpringBootApplication(scanBasePackages = "com")或者使用@ComponentScan("com")指定包路径

- 配置默认值:配置文件的值与Bean配置类的属性一一绑定,加载到容器中

- 按需加载配置:全场景的自动配置都在spring-boot-autoconfiger这个包配置,会按需加载,根据导入的场景依赖的启动器

  • springboot的常用注解 

- 组件注册:

        @Configuration、@SpringBootConfiguration

        @Controller、@Service、@Repository、@Component

        @Bean+@Scope

        @Import

        @ComponentScan

- 条件注解

        @ConditionalOnClass:类路径中存在这个类,则触发指定行为

        @ConditionalOnMissingClass:类路径中不存在这个类,则触发指定行为            @ConditionalOnBean:如果容器中存在该bean组件,则触发指定行为               @ConditionalOnMissingBean:如果容器中不存在该bean组件,则触发指定行为      

- 属性绑定

        @ConfigurationProperties:组件的属性和配置文件中的属性绑定

        @EnableConfigurationProperties:导入第三方的属性配置文件

结语

本节内容到这里就结束了,下期见。。。。。。

你可能感兴趣的:(#,springboot,微服务,微服务,spring,boot)