SpringBoot

时间:2019-09-15
本文章向大家介绍SpringBoot,主要包括SpringBoot使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Spring Boot是什么

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

Spring框架

Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。Spring集成多种事务模板,系统可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。Spring的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难。它不仅对Java:JDBC、iBATS/MyBATIs、Hibernate、Java数据对象(JDO)、ApacheOJB和ApacheCayne等所有流行的数据访问框架中提供支持,同时还可以与Spring的事务管理一起使用,为数据访问提供了灵活的抽象。Spring框架最初是没有打算构建一个自己的WebMVC框架,其开发人员在开发过程中认为现有的StrutsWeb框架的呈现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了SpringMVC。

特点

编辑
SpringBoot所具备的特征有:
(1)可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;
(2)内嵌Tomcat或Jetty等Servlet容器;
(3)提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;
(4)尽可能自动配置Spring容器;
(5)提供准备好的特性,如指标、健康检查和外部化配置;
(6)绝对没有代码生成,不需要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。
 

安装步骤

编辑
从最根本上来讲,Spring Boot就是一些库的集合,它能够被任意项目的构建系统所使用。简便起见,该框架也提供了命令行界面,它可以用来运行和测试Boot应用。框架的发布版本,包括集成的CLI(命令行界面),可以在Spring仓库中手动下载和安装。一种更为简便的方式是使用Groovy环境管理器(Groovy enVironment Manager,GVM),它会处理Boot版本的安装和管理。Boot及其CLI可以通过GVM的命令行gvm install springboot进行安装。在OS X上安装Boot可以使用Homebrew包管理器。为了完成安装,首先要使用brew tap pivotal/tap切换到Pivotal仓库中,然后执行brew install springboot命令。
要进行打包和分发的工程会依赖于像MavenGradle这样的构建系统。为了简化依赖图,Boot的功能是模块化的,通过导入Boot所谓的“starter”模块,可以将许多的依赖添加到工程之中。为了更容易地管理依赖版本和使用默认配置,框架提供了一个parent POM,工程可以继承它。
 

springboot项目搭建

1.下载springboot工具

https://spring.io/tools3/sts/all

2.进入springboot快速搭建

https://start.spring.io/

指定Group和Artifact名称,并选择本机JDK版本

选择项目所需依赖

解释

devtools: SpringBoot提供的热部署插件,可以避免每次修改代码都要重新启动项目。。

lomback: 使用Lomback可以减少项目中很多重复代码的书写,比如getter/setter/toString等方法的书写(虽然这些可能我们都是用的快捷键生成的代码)。

Thymeleaf: 语法的支持

注意: 以上依赖非必选,如果仅仅想尝试一下Spring Boot-HelloWorld,只需要选择其中的web依赖即可。

3.SpringBoot起步

以上是新创建的Spring Boot项目。在SpringBoot中有一个启动器(引导类)的概念,我们首先看一下SpringbootApplication.java:

如上,仅是一个简单的main方法,其中最核心的就是@SpringBootApplication注解,它是一下三个注解的总和:

1. @Configuration: 用于定义一个配置类。

2. @EnableAutoConfiguration: SpringBoot会自动根据你的jar包依赖来自动配置项目。

3. @ComponentSacn: 告诉Spring哪个packages的用注解标识的类会被Spring自动扫描并且转入Bean容器。

通过以上三个注解你就应该了解到了SpringBoot的作用:自动化配置项目。之前我们要手动进行的XML配置在这里仅需要这一个注解就完成了。且SpringBoot项目不需要单独部署到Tomcat中才能启动,通过这个启动器,SpringBoot会自动构建一个web容器,并将项目部署到其中。

<dependencies>节点下的前四个依赖:

Spring Boot应用启动器

spring-boot-starter: Spring Boot的核心启动器,包含了自动配置、日志和YAML。

spring-boot-starter-jdbc: 支持JDBC数据库。

spring-boot-starter-thymeleaf: 支持Thymeleaf模板引擎,包括与Spring的集成。

spring-boot-starter-web: 支持全栈式开发,包括Tomcat和Spring-WebMVC。

mybatis-spring-boot-starter: 整合spring-mybatis依赖。

测试

在src/main/java/cn/tycoding/springboot/下创建controller文件夹并创建LoginController.java类:

如上就完成了在SSM阶段一个最基本的SpringMVC Controller映射方法的书写,那么测试一下:

在浏览器上访问:

http://localhost:8080/login?username=aa&password=123

后端即可接收到username和password参数。

这时你会发现,SpringBoot内置的Web容器默认访问地址就是8080端口,如果想改变这个默认端口,修

src/main/resources/application.properties:

重启SpringbootApplication,访问:localhost:8088/login?username=tycoding&password=123

读取配置文件信息

在src/main/resources/application.properties中添加配置:

Spring提供的Environment类用户读取配置文件中参数,访问:localhost:8088/blog即可得到。

原文地址:https://www.cnblogs.com/yejianguo/p/11524072.html