【Spring Boot2.0学习之旅-01-1】SpringBoot2.x依赖环境和版本新特性说明

本文介绍了SpringBoot 2.x的依赖环境升级、新特性概述,包括Java 8+、Maven 3.2+、Eclipse/IDE使用,以及Spring Boot的核心功能、Spring Boot生态和Maven管理。重点讲解了Spring Boot如何简化开发、自动配置和内嵌容器,适合初学者快速上手。

第一章:零基础快速入门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的模块。如图所示。

img

(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文件夹下。

还有后续工作,大家点赞评论收藏关注走起来!!!学起来!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mind_programmonkey

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值