Spring Boot教程(一)(快乐入门)(上) - Go语言中文社区

Spring Boot教程(一)(快乐入门)(上)


                                                                                                                                原创者:文思

       Spring Boot就是Spring,它做了那些没有它你也会去做的Spring Bean配置。它使用“习惯优于配置”(项目中存在大量的配置,此外还内置了一个习惯性的配置,让你无需手动进行配置)的理念让你的项目快速运行起来。使用Spring Boot很容易创建一个独立运行(运行jar,内嵌Servlet容器)、准生产级别的基于Spring框架的项目。

SpringBoot精要:

1自动配置auto-configuration: 针对很多Spring应用程序常见的应用功能,Spring Boot能自动提供相关默认配置,进一步请自己理解

2起步依赖starters:告诉Spring Boot需要什么功能,它就能引入需要的starter库,进一步请自己理解

3命令行界面cli: 这是Spring Boot的可选特性,借此你只需写代码就能完成完整的应用程序,无需传统项目构建,或许不常用 

4Actuator:让你能够深入运行中的Spring Boot应用程序,对应用系统的自省和监控的集成功能。

以上是Spring Boot有四大神器。

环境要求:

目前Spring Boot正式版为1.5.1.RELEASE默认情况下,Spring Boot

1.5.1.RELEASE需要Java 7和Spring Framework

4.3.6.RELEASE或更高版本。推荐Java 8

极速入门:

传统spring mvc开发一个web项目:

Maven构建文件及spring,spring

mvc,servlet api,jdbc依赖类

Web.xml配置

Spring.xml springMvc.xml配置

Tomcat

Contoller类,只有contoller类和业务具体相关,其它都是配置及开发环境搭建、准备。

使用spring boot:

推荐Spring Initializr,它从本质上来说就是一个Web应用程序,它能为你生成Spring Boot项目

访问:http://start.spring.io


下载项目压缩包,导入到你的工程

项目里面基本没有代码,除了几个空目录外,还包含如下几样东西。

·pom.xml:Maven构建说明文件。

·Chapter1Application.java:一个带有main()方法的类,用于启动应用程序(关键)。

·Chapter1ApplicationTests.java:一个空的Junit测试类,它加载了一个使用Spring Boot字典配置功能的Spring应用程序上下文。

application.properties:一个空的properties文件,你可以根据需要添加配置属性。

解析pom.xml

这块配置就是Spring Boot父级依赖,有了这个,当前的项目就是Spring Boot项目了,spring-boot-starter-parent是一个特殊的starter,它用来提供相关的Maven默认依赖,使用它之后,常用的包依赖可以省去version标签。查看C:Usersgoodluck.m2repositoryorgspringframeworkbootspring-boot-parent1.5.4.RELEASEspring-boot-parent-1.5.4.RELEASE.pom:

relativePath是相对路径的意思,再打开引用文件spring-boot-dependencies-1.5.1.RELEASE.pom:

如果你不想使用某个依赖默认的版本,您还可以通过覆盖自己的项目中的属性来覆盖各个依赖项,例如,要升级到另一个Spring

Data版本系列,要升级mysql版本,不想使用servletr-api3.1版本,都可以在pom.xml中更换,如:

并不是每个人都喜欢继承自spring-boot-starter-parent POM。您可能有您需要使用的自己的公司标准parent,或者您可能更喜欢显式声明所有的Maven配置,再或者有10个、20个甚至更多模块继承自同一个模块。要知道,Maven的继承和Java的继承一样,是无法实现多重继承的,如果那么按照我们之前的做法,这个父模块的dependencyManagement会包含大量的依赖。如果你想把这些依赖分类以更清晰的管理,那就不可能了,import scope依赖能解决这个问题如果不想使用spring-boot-starter-parent,可以通过使用scope = import依赖关系来保持依赖关系管理。步骤:

1把dependencyManagement放到单独的专门用来管理依赖的pom中,比如叫base-parent1

2通过非继承的方式来引入这段依赖管理配置,需要使用依赖的模块中通过import scope依赖,就可以引入dependencyManagement

以我们的项目为例,在我们的项目demo中不使用starter-parent的话,在pom.xml中:

该设置不允许您使用如上所述的属性(properties)覆盖各个依赖项,要实现相同的结果,您需要在spring-boot-dependencies项之前的项目的dependencyManagement中添加一个配置,例如,要升级到另一个Spring Data版本系列,您可以将以下内容添加到pom.xml中:

这样配置的话,自己的项目里面就不需要继承SpringBoot的module了,而可以继承自己项目的module了。

---------------------------------------------------------------------------------------------------------------------------------------------------

起步依赖 spring-boot-starter-xx

Spring Boot提供了很多”开箱即用“的依赖模块,都是以spring-boot-starter-xx作为命名的。

比如我们之前要实现web功能,引入了spring-boot-starter-web这个起步依赖。我们来看看spring-boot-starter-web到底依赖了哪些,如图:

好多好多,看着是不是很熟悉,所以Spring Boot通过提供众多起步依赖降低项目依赖的复杂度。起步依赖本质上是一个Maven项目对象模型(Project Object Model,POM),定义了对其他库的传递依赖。起步依赖的命名都暗示了它们提供的某种或者某类功能。

上面的配置就是Spring Boot Maven插件,Spring Boot Maven可以把项目打包成一个可执行的超级JAR(uber-JAR),包括把应用程序的所有依赖打入JAR文件内,并为JAR添加一个描述文件,其中的内容能让你用java -jar来运行应用程序,在main方法中即可运行。

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

应用入口类

@RestController注解等价于@Controller+@ResponseBody的结合,使用这个注解的类里面的方法都以json格式输出

有三种启动方式:

run as -> java applicion或者run as -> spring boot app 或者在Boot Dashbord中debug

使用命令 mvn spring-boot:run”

运行“mvn package”进行打包时,会打包成一个可以直接运行的 JAR 文件,使用“java -jar”命令

打开浏览器访问:

上集讲解完毕,请关注下集源码剖析。

版权声明:本文来源简书,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://www.jianshu.com/p/2c5335323c02
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢