[程序员]一篇能让你涨薪的spring核心概念讲解——快来看看


[程序员]一篇能让你涨薪的spring核心概念讲解——快来看看
本文插图
一:Spring Boot 、 Spring MVC 、Spring对比 第一你需要明白一件事情:Spring Boot项目目的并不是替换Spring、SpringMVC , 而是使使用它们更加方便 。
Spring 框架 Spring框架核心的特性就是依赖注入DI(Dependency Injecttion)和控制反转IOC(Inversion Of Control) 。 如果你可以合理的使用DI和IOC , 就可以开发出松耦合、扩展性好的的应用程序 。
[程序员]一篇能让你涨薪的spring核心概念讲解——快来看看
本文插图
Spring MVC Spring MVC提供了一种方式来开发Web应用程序 。通过使用诸如Dispatcher Servlet , ModelAndView和View Resolver , 以轻松开发Web应用程序 。
Spring Boot Spring 和 Spring MVC最大的弊处在于存在大量的配置 , 而且这些配置在不同的项目中具有很高的相似性 。 从而导致重复配置!
[程序员]一篇能让你涨薪的spring核心概念讲解——快来看看
本文插图
Spring Boot期望通过结合自动配置和starters来解决这个问题 。另外 , Spring Boot还提供了一些功能 , 用来更快地构建可用于生产环境的应用程序 。
二、Spring Boot 自动配置 Spring和Spring MVC应用程序里面有很多的XML或Java Bean配置 。 Spring Boot为解决这个问题 , 提供一种新的思维方式 。
springboot思考的方式:能否更加智能一点 , 当Spring中加入一些新的jar包 , 可以自动的配置一些bean 。例如:Spring MVC JAR位于类路径中时 , 自动配置Dispatcher Servlet 。
三、什么是Spring Boot Starter? Spring Boot Starter是一组被依赖第三方类库的集合 。
如果你要开发一个web应用程序 , 就通过包管理工具(如maven)引入spring-boot-starter-web就可以了 , 而不用分别引入下面这么多依赖类库 , spring-boot-starter-web一次性帮你引入下面的这些常用类库 。
Spring — spring 核心, beans, context上下文, AOP面向切面
Web MVC — Spring MVC
Jackson — JSON数据的序列化与反序列化
Validation — Hibernate参数校验及校验API
嵌入式 Servlet Container — Tomcat
日志框架Logging — logback, slf4j
[程序员]一篇能让你涨薪的spring核心概念讲解——快来看看
本文插图
四、什么是Spring Boot Starter Parent 所有的Spring Boot项目默认使用spring-boot-starter-parent作为应用程序的父项目 。
继承父项目的好处在于: 统一java版本配置和其他的一些依赖类库的版本 。 也就是说 , 你引入的第三方类库不要加版本号 , 父项目替你管理版本 , 而且是经过兼容性测试的 。 比你自己随便引入一个版本兼容性更好 。
当然父项目只能帮你管理一些常用类库的版本 , 如果你引入一些不常用的jar , 还是要自己管理版本号及兼容性!
五、快速创建启动项目 相信很多使用过Spring框架的架构师 , 在项目启动初期 , 为了搭建一个兼容性良好、使用方便的架构需要花费很多的精力 。 现在 , 你可以使用一个UI界面来帮助你创建基本的启动项目!
[程序员]一篇能让你涨薪的spring核心概念讲解——快来看看
本文插图
六、嵌入式web容器 Spring boot打成jar包 , 默认包含嵌入式的web容器:tomcat 。 可以简单的使用如下命令启动一个web服务:
java -jar springboot-demo.jar
这更有利于微服务的部署及微服务的构建、启动、扩容 。 Spring Boot还支持Jetty和Undertow作为web容器 。