初识SpringBoot
- SpringBoot介绍
- SpringBoot特点
- SpringBoot两个重要策略
- SpringBoot相关官网
- SpringBoot四大神器
SpringBoot介绍
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
2014年4月发布第一个版本的全新开源的轻量级框架。它基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。
javaweb的发展趋势:(引用老师的话)
SpringBoot特点
- 可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;
- 内嵌Tomcat或Jetty等Servlet容器;
- 提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;
- 尽可能自动配置Spring容器;
- 提供准备好的特性,如指标、健康检查和外部化配置;
- 绝对没有代码生成,不需要XML配置。
SpringBoot两个重要策略
- 开箱即用
Outofbox,是指在开发过程中,通过在MAVEN项目的pom文件中添加相关依赖包,然后使用对应注解来代替繁琐的XML配置文件以管理对象的生命周期。这个特点使得开发人员摆脱了复杂的配置工作以及依赖的管理工作,更加专注于业务逻辑。 - 约定优于配置
Convention over configuration,是一种由SpringBoot本身来配置目标结构,由开发者在结构中添加信息的软件设计范式。这一特点虽降低了部分灵活性,增加了BUG定位的复杂性,但减少了开发人员需要做出决定的数量,同时减少了大量的XML配置,并且可以将代码编译、测试和打包等工作自动化。
SpringBoot应用系统开发模板的基本架构设计从前端到后台进行说明:
- 前端常使用模板引擎,主要有FreeMarker和Thymeleaf,它们都是用Java语言编写的,渲染模板并输出相应文本,使得界面的设计与应用的逻辑分离,
- 同时前端开发还会使用到Bootstrap、AngularJS、JQuery等;在浏览器的数据传输格式上采用Json,非xml,同时提供RESTfulAPI;
- SpringMVC框架用于数据到达服务器后处理请求;
- 数据访问层主要有Hibernate、MyBatis、JPA等持久层框架;
- 数据库常用MySQL;
- 开发工具推荐IntelliJIDEA,同时也为大部分的开发提供支持,工具之间基本上没有区别,不管是哪个开发工具,记住快捷键,一定会提高开发效率。
SpringBoot相关官网
Spring官网:https://spring.io/SpringBoot官方文档:https://docs.spring.io/spring-boot/docs/current/reference/html/Spring 相关开发工具:https://spring.io/tools
SpringBoot四大神器
简单介绍,详细的之后再整理。
- 自动配置:auto-configuration
基于约定优于配置
简化或减少配置 - 启动器:starter
简化maven配置 - 命令行界面:cli
项目创建、管理、打包…… - 监控:actuator
监控项目
关键数据,如订单
结合Prometheus + Grafana + 埋点