一步步学习SpringBoot(一) 快速搭建一个web
2017-03-25 00:43
906 查看
适应读者
前端工程师(java系的公司)前端架构师(java系的公司)
java工程师
测试工程师(java系的公司)
什么是SpringBoot?
Spring Boot便是一个社区反馈推动的项目. Spring Boot可以说是至少近5年来Spring乃至整个Java社区最有影响力的项目之一。Spring Boot主要包含以下特性:直接嵌入Tomcat, Jetty或者Undertow作为Servlet container。从此之后再也不用将应用程序打包成war然后上传到application server里面了。 提供了starter POM, 能够非常方便的进行包管理, 很大程度上减少了jar hell或者dependency hell 自动进行Spring框架的配置,节省程序员大量的时间和精力,能够让程序员专注在业务逻辑代码的编写上 不需要任何第三方系统,更不需要用xml来进行框架的配置,所以SpringBoot让java应用变的更简单。SpringBoot环境准备
jdk1.8 or later (去java官网下载,记得要1.8或以上)maven3.0+ or gradle2.3+, 本文使用maven。
你喜欢的一个ide,本文的demo是用 idea。
通过idea新建一个java project
打开idea,新建一个project,选择Maven继续点击next, 设置projectname为helloworld,最后点击finish如下,
一个简单的java project建立好了。
通过maven构建SpringBoot的jar包与依赖包
maven是一个出色的java构建工具,我们通过maven来构建springboot的jar包与依赖,maven用法非常简单,本文不重点描述maven的用法,不熟悉maven的同学可以自行去官网学习。打开pom.xml, 将以下内容拷贝进去,主要
<?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>helloWorld</groupId> <artifactId>helloworld</artifactId> <version>1.0-SNAPSHOT</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.2.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> <properties> <java.version>1.8</java.version> </properties> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> <repositories> <repository> <id>spring-releases</id> <url>https://repo.spring.io/libs-release</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>spring-releases</id> <url>https://repo.spring.io/libs-release</url> </pluginRepository> </pluginRepositories> </project>
保存pom.xml后, idea通过maven完成构建,现在这个java project已经具备了SpringBoot的特性。
写一个controller
这里面用了一个注解,SpringBoot特性的注解。@RestController
它相当于SpringMVC的 @Controller与@ResponseBody的合体,大家先别急,我们后面的文章会详细介绍,我们先让程序运行起来,代码如下。
package com.helloworld.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * Created by fangxiao on 2017/3/24. */ @RestController public class Controller { @RequestMapping("/helloworld") public String helloWorld() { return "helloworld"; } }
写一个Application启动main方法
SpringBoot是通过main方法直接将内置的tomcat启动的,大家还是别急,我们先让程序运行起来,程序如下import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /** * Created by fangxiao on 2017/3/25. */ @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
这里最神奇的时注解@SpringBootApplication, 它的原理是怎样的呢,在我后面的文章会讲到。
启动服务
编码完毕,我们要启动一个web服务了,启动的方法可以通过gradle或者maven命令,我习惯直接通过jar命令的方式启动,对于IEDA来说,直接run这个Application类就Ok了大家可以看到内置的tomcat(SpringBoot内置的应用服务器默认是tomcat)已经启动了,
我们刚刚在controller里面做了一个路由/helloworld, 我们打开浏览器直接输入localhost:8080/helloworld, 可以看到如下Response
自此,我们已经搭建好了一个java web,可能有同学会问,如果想response一个json接口应该怎么实现,这个也很easy,在controller再增加一个路由,代码如下,
@RequestMapping("/user") public Map getUsers() { Map map = new HashMap<>(); map.put("name","fangxiao"); map.put("age","15"); return map; }
我们启动下服务器,访问localhost:8088/user,看到结果如下:
这就是个简单的接口服务了,前端通过ajax取到可以做相应的数据渲染。
到了这里大家也许会有些疑问,就这么几行代码就启动了一个web服务,不用配置web.xml,也不用配置spring其他的依赖注入,更不用专门维护一个tomcat和打war包,这些就是SpringBoot令人振奋的地方,约定大于配置,大大简化了配置成本,在后面的文章中我会逐步介绍它更多的特性与原理。
总结
本文我们通过SpringBoot的特性快速搭建了一个web,我们只用了几行代码就启动了一个web并且访问了一个Restful的服务,通过约定大于配置的思想比SpringMVC简洁了很想,希望我的这一系列能提供给大家一些思路和做一些尝试,所有的例子可以在https://github.com/fangxiao/springboot查看,如想了解更多技术,请关注我的微信公众号。相关文章推荐
- springboot学习1-使用 Spring Starter Project快速创建基于spring-boot的web项目
- 用Spring Boot & Cloud,Angular2快速搭建微服务web应用 - 实现RESTful CRUD
- spring学习笔记(一)快速搭建一个spring boot应用
- Spring Boot快速搭建Web工程
- JeeFast是一款基于SpringBoot+Mybatis-Plus+Bootstrap+Vue搭建的JAVA WEB快速开发平台
- (3)Spring-boot学习 做一个简单的带访问数据库的web项目
- 【SpringBoot】2.快速搭建一个SpringBoot应用
- 快速搭建一个简单的springboot项目
- 【springBoot】之快速构建一个web项目
- SpringBoot(一):快速搭建一个springboot项目
- 用Spring Boot & Cloud,Angular2快速搭建微服务web应用 - AngularJS2客户端
- IDEA上面搭建一个SpringBoot的web-mvc项目
- SPRING BOOT快速搭建WEB应用教程(二)—HELLOWORLD
- springboot入门(一)--快速搭建一个springboot框架
- Spring Boot 学习(一) 快速搭建SpringBoot 项目
- spring-boot快速搭建web应用教程一-基础环境搭建
- Spring boot 学习笔记 ---分分钟构建一个web程序(一)
- IDEA上面搭建一个SpringBoot的web-mvc项目
- 使用Spring Boot +JPA+mybatis快速启动一个web项目
- Spring-Boot快速搭建web项目详细总结