随着动态语言的流行(Ruby、Groovy、Scala、Node.js),Java的开发显得格外的笨重:繁多的配置、低下的开发效率、复杂的部署流程以及第三方技术集成难度大。
在上述环境下,Springboot
应运而生。它使用"习惯优于配置"(项目中存在大量的配置,此外还内置一个习惯性的配置,让你无须手动进行配置)的理念让你的项目快速运行起来。使用springboot很容易建立一个独立运行(运行jar,内嵌servlet容器)、准生产级别的基于Spring框架的项目,使用springboot
你能够不用或者只须要不多的Spring配置。css
Spring Boot能够以jar包的形式独立运行,运行一个Spring Boot项目只须要经过java -jar xx.jar。html
Spring Boot可选择内嵌Tomcat、Jetty或者Undertow,这样无须以war包形式部署。java
Spring提供了一系列的starter pom来简化maven依赖加载,例如:当你使用了spring-boot-starter-web时,会自动加入相关依赖,无需你手动一个一个的添加坐标依赖。git
Spring Boot会根据在类路径中的jar包、类,为jar包里的类自动配置Bean,这样会极大地减小咱们要使用的配置。固然,Spring Boot只是考虑了大多数的开发场景,并非全部场景,若在实际开发中,咱们须要自动配置bean,而Spring Boot没有提供支持,则能够自定义自动配置。github
Spring Boot的神奇的不是借助于代码生成来实现的,而是经过条件注解来实现的,这是Spring 4.x提供的新特性,Spring 4.x提倡使用java配置和注解配置相结合,而Spring Boot不须要任何xml配置便可实现Sping Boot的全部配置。web
soringCloud
时,会结合pinpoint和skywalking分布式链路工具进行应用监控)使用的工具为:
Spring Tool Suite(3.9.3.RELEASE)
SpringBoot:1.5.14.RELEASEspring
Spring Tool Suite 下载地址:https://spring.io/tools/sts/allapache
利用**
Spring Initializr
**进行快速建立项目json
Dashboard
-->CREATE SPRING STARTER PROJECT
进行建立项目,或者能够选择file
-->new
-->Spring Starter Project
,打开建立面板第一种方式: bootstrap
第二种方式:
这里url建议直接填写:
https://start.spring.io
(默认是http方式)
maven相关命名说明
Group
:通常为逆向域名格式,如本博客域名为lqdev.cn
,则group通常以cn.lqdev
开头Artifact
:惟一标识,通常为项目名称。 具体maven相关信息,可自行搜索,这里只简单阐述除此下载包时,可能会比较慢,建议替换成阿里云的maven镜像
- src -main -java -cn.lqdev.learning.springboot.chapter1 #主函数,启动类,运行它若是运行了 Tomcat、Jetty、Undertow 等容器 -Chapter1Application -resouces #存放静态资源 js/css/images 等 - statics #存放 html 模板文件 - templates #主要的配置文件,SpringBoot启动时候会自动加载application.properties/bootstrap.properties - application.properties #测试文件存放目录 -test # pom.xml 文件是Maven构建的基础,里面包含了咱们所依赖JAR和Plugin的信息 - pom
因为使用了
Spring Initializr
直接建立项目,相关依赖自动添加好了。
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>cn.lqdev.learning</groupId> <artifactId>springboot-chapter1</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>chapter-1</name> <description>Spring Boot | 第一章:第一个Springboot应用</description> <!-- Springboot的版本,你们选择时,应该选择 RELEASE 版本 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.14.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <!-- 内嵌了tomcat服务器,开发简单的web应用,此依赖便可 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- 测试包 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
/** * 启动类 * @author oKong * */ @SpringBootApplication public class Chapter1Application { public static void main(String[] args) { SpringApplication.run(Chapter1Application.class, args); } }
/** * 第一个springboot应用 * @author oKong * */ //@RestController = @Controller + @ResponseBody 默认直接返回json @RestController public class DemoController { @RequestMapping(value = "/demo", method = RequestMethod.GET) public String demo() { return "hello,SpringBoot!"; } }
直接
Chapter1Application
,右键run as
-->Spring Boot App
便可。
看见如下提示,说明启动成功:
2018-07-11 22:47:38.170 INFO 15396 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
简单说明
127.0.0.1:8080/demo
便可查看。application.properties
设置如下属性:# 端口号 server.port=8888 # 应用上下文路径 server.context-path=/chapter1
访问:http://127.0.0.1:8888/chapter1/demo
自此,一个简单的SpringBoot
就开发完成了。比起原来的springmvc
时的开发效率,简直是一个质的飞跃,无需再烦扰烦人的xml配置文件了。终于能够快乐的撸代码了~
目前互联网上不少大佬都有
springboot
系列教程,若有雷同,请多多包涵了。本文是做者在电脑前一字一句敲的,每一步都是亲身实际过的。若文中有所错误之处,还望提出,谢谢。
499452441
lqdevOps
源码完整实例:chapter-1
本文地址:https://blog.lqdev.cn/2018/07/11/springboot/chapter-one/