Spring
Spring 是重量级企业开发框架 EJB(Enterprise JavaBean) 的替代品,通过 依赖注入 和 面向切面编程,用简单的 Java 对象(POJO,Plain Old Java Object) 实现 EJB 的功能,其组件代码轻量,但是配置很繁琐(需要大量 XML 配置)。Spring 2.5 引入基于注解的组件扫描,Spring 3.0 引入基于 Java 的配置,可以代替 XML,虽然引入的特性大大提高了配置的效率,但是也无法避免,针对这一问题,Spring Boot 应运而生;
Spring Boot
定义
Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”…Most Spring Boot applications need very little Spring configuration.
上面的一段话来自 Spring 官方,即“Spring Boot 能够轻松创建基于 Spring 的独立的生产级别的应用程序,而只需要通过 “just run (可能是 java -jar、tomcat、maven、shell、'Application' 等)”就可以让项目跑起来,大多 Spring Boot 项目仅需少量配置即可运行”;
为什么需要 Spring Boot
Spring 框架能够让 J2EE企业应用程序开发更加简化,但是还是需要配置大量文件,针对这一问题,Spring Boot 能够进一步简化 Spring 框架,使得开发更为高效;
特点
- 可以创建独立
Spring应用程序,并且基于Maven或Gradle插件,可以创建可执行的JARs和WARs; - 内嵌
Tomcat或Jetty等Servlet容器; - 提供自动配置的
started项目对象模型(POMS)以简化Maven配置; - 尽可能自动配置
Spring容器; - 提供准备好的特性,如指标、健康检查和外部化配置;
- 没有冗余代码生成,不需要
XML配置;
重要策略
- 开箱即用:
Outofbox,指在开发过程中,通过在Maven项目的pom文件中添加相关依赖包,然后使用对应注解来代替繁琐的XML配置文件以管理对象的生命周期。这一特点使得开发人员摆脱了复杂的配置工作以及相关依赖的管理工作,更加专注于业务逻辑; - 约定优于配置:
Convention over configuration,一种由SpringBoot本身来配置目标结构,由开发者在结构中添加信息的软件设计范式。这一特点虽然降低了部分灵活性,增加了BUG定位的复杂性,但减少了开发人员需要做出决定的数量,同时减少了大量XML配置,而且可以将代码编译、测试和打包等工作自动化;
Spring Boot 的优缺点
优点
- 使得开发基于
Spring的应用程序变得简单; -
Spring Boot项目开发所需时间明显减少,提高整体生产力; - 无需编写大量样板代码、
XML配置和注释; - 与
Spring生态系统更加容易集成,如Spring JDBC、Spring ORM、Spring Data、Spring Security; - 遵循默认配置,我们通过修改默认配置能够减少开发工作;
- 提供嵌入式
http服务器,方便开发测试web应用程序; - 提供命令行接口(
CLI)工具,用于开发测试Spring Boot应用程序; - 提供多种插件,能使用内置工具(
Maven & Gradle)开发测试Spring Boot应用程序;
缺点
- 相关文档资料较少;
- 版本迭代快,导致各版本间的模块改动可能很大;
所有权
建议关注 公众号,文章会优先发布在此处,此外还有 大量精品资源 等着你。
部分资源截图
分类
Java
Python
办公
个人提升
小编收集资源也很辛苦,大家看完文章后,记得顺手点个在看!或者赞赏个鸡腿儿也是很满足鸭!比心 ♥