第一章:零基础快速入门SpringBoot2.0
01-1 SpringBoot2.x依赖环境和版本新特性说明
简介:讲解新版本依赖环境和springboot2新特性概述
1、依赖版本jdk8以上, Springboot2.x用JDK8, 因为底层是 Spring framework5, https://spring.io/
2、安装maven最新版本,maven3.2以上版本,下载地址 :https://maven.apache.org/download.cgi
3、Eclipse或者IDE
4、新特性
5、翻译工具:https://translate.google.cn/
6、springboot GitHub地址:https://github.com/spring-projects/spring-boot
7、springboot官方文档:https://spring.io/guides/gs/spring-boot/
1.Spring相关知识介绍
1.1 为什么使用Spring?

Spring 使每个人都可以更快、更轻松、更安全地进行 Java 编程。 Spring 对速度、简单性和生产力的关注使其成为世界上最受欢迎的Java框架。
spring负责人:“我们使用 Spring 框架附带的许多工具,并获得了许多开箱即用的解决方案带来的好处,而不必担心编写大量额外的代码——这确实为我们节省了一些时间和能量。”
1.2 Spring的发展史
第一阶段:xml配置
在Spring1.x时代,使用Spring开发满眼都是xml配置的Bean,随着项目的扩大,我们需要把xml配置文件放到不同的配置文件里,那时候需要频繁地在开发的类和配置文件之间转换。
第二阶段:注解配置
在Spring2.x时代,随着JDK1.5带来的注解支持,Spring提供了声明Bean的注解(如@Component、@Servvice),大大减少了配置量。这时Spring圈子里存在着一种争论:注解配置和xml配置究竟哪个更好?最终我们的选择是应用的基本配置(如数据库配置)用xml,业务配置用注解。
第三阶段:Java配置
从Spring 3.x到现在,Spring提供了Java配置的能力,使用Java配置可以让你更理解你配置的Bean。我们刚好处于这个时期,Spring 4.x和Spring Boot都推荐使用Java配置。
1.3 Spring概述
Spring框架是一个轻量级的企业级开发的一站式解决方案。所谓解决方案就是可以基于Spring解决Java EE开发的所有问题。Spring框架主要提供了IoC容器、AOP、数据访问、Web开发、消息、测试等相关技术的支持。
Spring使用简单的POJO(Plain Old Java Object,即无任何限制的普通Java对象)来进行企业级开发。每一个被Spring管理的Java对象都称之为Bean;而Spring提供了一个IoC容器用来初始化对象,解决对象间的依赖管理和对象的使用。
(1)spring的模块
spring是模块化的,这意味着你可以只使用你需要的spring的模块。如图所示。

(1)核心容器(Core Container)
- Spring-Core: 核心工具类,Spring其他模块大量使用Spring-Core;
- Spring-Beans: Spring 定义 Bean 的支持;
- Spring-Context: 运行时 Spring 容器;
- Spring-Context-Support: Spring容器对第三方包的集成支持;
- Spring-Expression: 使用表达式语言在运行时查询和操作对象。
(2)AOP
-
Spring-AOP:基于代理的AOP支持;
-
Spring-Aspects:基于 Aspectl 的 AOP 支持。
(3)消息(Messaging)
- Spring-Messaging:对消息架构和协议的支持。
(4)Web
- Spring-Web:提供基础的Web集成的功能,在Web项目中提供Spring的容器;
- Spring-Webmvc:提供基于 Servlet 的 Spring MVC;
- Spring-WebSocket:提供 WebSocket 功能;
- Spring-Webmvc-Portlet:提供 Portlet 环境支持。
(5)数据访问/集成(DataAccess/Integration)
- Spring-JDBC:提供以JDBC访问数据库的支持;
- Spring-TX:提供编程式和声明式的事务支持;
- Spring-ORM:提供对对象/关系映射技术的支持;
- Spring-OXM:提供对对象/xml映射技术的支持;
- Spring-JMS:提供对JMS的支持。
(2)Spring的生态
Spring发展到现在已经不仅仅是Spring框架本身的内容,Spring目前提供了大量的基于
Spring的项目,可以用来更深入地降低我们的开发难度,提高开发效率。
目前Spring的生态里主要有以下项目,我们可以根据自己项目的需要来选择使用相应的
项目。
- Spring Boot: 使用默认开发配置来实现快速开发。
- Spring XD: 用来简化大数据应用开发。
- Spring Cloud: 为分布式系统开发提供工具集。
- Spring Data: 对主流的关系型和NoSQL数据库的支持。
- Spring Integration: 通过消息机制对企业集成模式(E1P) 的支持。
- Spring Batch:简化及优化大量数据的批处理操作。
- Spring Security:通过认证和授权保护应用。
- Spring HATEOAS:基于HATEOAS原则简化REST服务开发。
- Spring Social:与社交网络API (如Facebook、新浪微博等)的集成。
- Spring AMQP:对基于AMQP的消息的支持。
- Spring Mobile:提供对手机设备检测的功能,给不同的设备返回不同的页面的支持。
- Spring for Android:主要提供在 Android 上消费 RESTful API 的功能。
- Spring Web Flow:基于Spring MVC提供基于向导流程式的Web应用开发。
- Spring Web Services:提供了基于协议有限的SOAP/Web服务。
- Spring LDAP:简化使用LDAP开发。
- Spring Session:提供一个API及实现来管理用户会话信息。
2.Spring Boot相关知识介绍
2.1 什么是Spring Boot?
随着动态语言的流行,Java的开发显得格外的笨重:繁多的配置、低下的开发效率、复杂的部署流程以及第三方技术集成难度大。
在上述环境下,Spring Boot应运而生。它使用“习惯优于配置”(项目中存在大量的配置,此外还内置一个习惯性的配置,让你无须手动进行配置)的理念让你的项目快速运行起来。使用Spring Boot很容易创建一个独立运行(运行jar,内嵌Servlet容器)、准生产级别的基于Spring 框架的项目,使用Spring Boot你可以不用或者只需要很少的Spring配置。
2.2 Spring Boot的核心功能
- a.独立运行的Spring项目
Spring Boot可以以jar包的形式独立运行,运行一个Spring Boot项目只需通过java -jar xx.jar来运行 。
- b.内嵌Servlet容器
Spring Boot可选择内嵌Tomcat、Jetty或者Undertow,这样我们无须以war包形式部署项目。
- c.提供starter简化Maven配置
Spring提供了一系列的starter pom来简化Maven的依赖加载。例如,当你使用了spring-boot-starter-web时,会自动加入依赖包。
- d.自动配置Spring
Spring Boot会根据在类距离中的jar包、类,为jar包里的类自动配置Bean,这样会极大地减少我们要使用的配置。当然,Spring Boot只是考虑了大多数的开发场景,并不是所有的场景,若在实际开发中我们需要自动配置Bean,而Spring Boot没有提供支持,则可以自定义自动配置。
- e.准生产的应用监控
Spring Boot提供基于http、ssh、telneet对运行时的项目进行监控。
- f.无代码生成和xml配置
Spring Boot的神奇的不是借助于代码生成来实现的,而是通过条件注解来实现的。
3.Maven相关知识
在项目搭建过程中,可能有些开发者是通过开发工具新建项目,然后将项目所要依赖的第三方jar包复制到下面的类路径下。
但是我们现在要和这种项目搭建的方式说拜拜了,因为上述搭建方式没有第三方类库的依赖关系,在导入一个特定的jar包时,可能此jar包还依赖与其它的jar包,其它的jar包又依赖于更多的jar包,这也是会遇到ClassNotFound错误的主要原因。
为了解决上述问题,现急需引入一个项目搭建工具。目前主流的项目搭建工具有:Ant、Maven、Gradle等。
Apache Maven是一个软件项目管理工机具。基于项目对象模型(Projeect Object Model,POM)的概念,Maven可用来管理的项目依赖、编译、文档等信息。
使用Maven管理项目时,项目依赖的jar包将不在包含在项目内,而是集中放置在用户目录下的.m2文件夹下。
还有后续工作,大家点赞评论收藏关注走起来!!!学起来!!!
本文介绍了SpringBoot 2.x的依赖环境升级、新特性概述,包括Java 8+、Maven 3.2+、Eclipse/IDE使用,以及Spring Boot的核心功能、Spring Boot生态和Maven管理。重点讲解了Spring Boot如何简化开发、自动配置和内嵌容器,适合初学者快速上手。
1188

被折叠的 条评论
为什么被折叠?



