Spring Boot——2分钟构建spring web mvc REST风格HelloWorld
之前有一篇《5分钟构建spring web mvc REST风格HelloWorld》介绍了普通方式开发spring web mvc web service。接下来看看使用spring boot如何快速构建一个。
Spring Boot使我们更容易去创建基于Spring的独立和产品级的可以”即时运行“的应用和服务。支持约定大于配置,目的是尽可能快地构建和运行Spring应用。
之前我们创建基于Spring的项目需要考虑添加哪些Spring依赖和第三方的依赖。使用Spring Boot后,我们可以以最小化的依赖开始spring应用。大多数Spring Boot应用需要很少的配置即可运行,比如我们可以创建独立独立大Java应用,然后通过java -jar运行启动或者传统的WAR部署。其也提供了命令行工具来直接运行Spring脚本(如groovy脚本)。也就是说Spring Boot让Spring应用从配置到运行变的更加简单,但不对Spring本身提供增强(即额外的功能)。
让所有Spring开发变得更快,且让更多的人更快的进行Spring入门体验,提供“starter” POM来简化我们的Maven配置(也就是说使用Spring Boot只有配合maven/gradle等这种依赖管理工具才能发挥它的能力),不像以前,构建一个springmvc项目需要进行好多配置等
开箱即用,快速开始需求开发而不被其他方面影响(如果可能会自动配置Spring)
提供一些非功能性的常见的大型项目类特性(如内嵌服务器、安全、度量、健康检查、外部化配置),如可以直接地内嵌Tomcat/Jetty(不需要单独去部署war包)
绝无代码生成,且无需XML配置
我的构建环境
JDK 7
Maven 3
Servlet3容器
首先使用Maven创建一个普通Maven应用即可,不必是web的。
添加Spring Boot相关POM配置
在pom.xml中添加如下配置
groupId org.springframework.boot /groupId artifactId spring-boot-starter-parent /artifactId version 0.5.0.BUILD-SNAPSHOT /version /parent !-- Add typical dependencies for a web application -- dependencies dependency groupId org.springframework.boot /groupId artifactId spring-boot-starter-web /artifactId /dependency /dependencies !-- Package as an executable JAR -- build plugins plugin groupId org.springframework.boot /groupId artifactId spring-boot-maven-plugin /artifactId /plugin /plugins /build !-- Allow access to Spring milestones and snapshots -- !-- (you dont need this if you are using anything after 0.5.0.RELEASE) -- repositories repository id spring-snapshots /id url http://repo.spring.io/snapshot /url snapshots enabled true /enabled /snapshots /repository repository id spring-milestones /id url http://repo.spring.io/milestone /url snapshots enabled true /enabled /snapshots /repository /repositories pluginRepositories pluginRepository id spring-snapshots /id url http://repo.spring.io/snapshot /url /pluginRepository pluginRepository id spring-milestones /id url http://repo.spring.io/milestone /url /pluginRepository /pluginRepositories
继承spring-boot-starter-parent后我们可以继承一些默认的依赖,这样就无需添加一堆相应的依赖,把依赖配置最小化;spring-boot-starter-web提供了对web的支持,spring-boot-maven-plugin提供了直接运行项目的插件,我们可以直接mvn spring-boot:run运行。
if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; User user = (User) o; if (id != null ? !id.equals(user.id) : user.id != null) return false; return true; } @Override public int hashCode() { return id != null ? id.hashCode() : 0; }
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; * p User: Zhang Kaitao * p Date: 13-12-22 * p Version: 1.0 */ //@EnableAutoConfiguration @RestController @RequestMapping("/user") public class UserController { @RequestMapping("/{id}") public User view(@PathVariable("id") Long id) { User user = new User(); user.setId(id); user.setName("zhang"); return user; } //public static void main(String[] args) { // SpringApplication.run(UserController.class); //}
第一种方式
通过在UserController中加上@EnableAutoConfiguration开启自动配置,然后通过SpringApplication.run(UserController.class);运行这个控制器;这种方式只运行一个控制器比较方便;
第二种方式
通过@Configuration+@ComponentScan开启注解扫描并自动注册相应的注解Bean
import com.sishuok.controller.UserController; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; * p User: Zhang Kaitao * p Date: 13-12-22 * p Version: 1.0 */ @Configuration @ComponentScan @EnableAutoConfiguration public class Application { public static void main(String[] args) { SpringApplication.run(Application.class); }
如果大家查看其依赖,会发现自动添加了需要相应的依赖(不管你用/不用),但是开发一个应用确实变得非常快速,对于想学习/体验Spring的新手,快速建立项目模型等可以考虑用这种方式。当然如果不想依赖这么多的jar包,可以去掉parent,然后自己添加依赖。
欢迎加入spring群134755960进行交流。
Java Web实战 | MVC案例:用户登录验证 本文结合图1的多层设计架构,以用户登录验证应用程序为例,说明如何将MVC模式应用于Web应用程序的开发,具体步骤如下所述。
Spring MVC: 一种简洁且强大的Web应用框架 这篇文章介绍Spring MVC,Spring MVC是现在基本所有Java程序的主流开发框架,这篇文章主要介绍三部分内容: 实现用户和程序的映射(在浏览器输入URL地址之后,能够在程序中匹配到相应方法)。 服务器端得到用户的请求参数 服务器端将结果返回给用户(前端)
Java Spring Boot开发实战系列课程【第15讲】:Spring Boot 2.0 API与Spring REST Docs实战 立即下载
相关文章
- ssh(Spring+Spring mvc+hibernate)——BaseDaoImpl.java
- 最简单的spring boot web项目
- 微服务架构实践 - 你只懂docker与spring boot就够了吗?
- spring boot:用rocketmq消息订阅实现删除购物车商品功能(spring boot 2.3.3)
- spring boot:单文件上传/多文件上传/表单中多个文件域上传(spring boot 2.3.2)
- Spring Boot启动时出现WARN:No MyBatis mapper was found in
- Spring boot后台搭建二为Shiro权限控制添加缓存
- 深入学习微框架:Spring Boot
- spring boot新建非web项目(无需依赖)
- spring整合webservice
- 不借助Maven,使用Eclipse创建Hello World级别的Spring项目
- 高效实现Web开发:掌握Spring Boot 2高级模块Thymeleaf的神奇妙用
- 如何优雅地在Spring Boot项目启动时初始化数据,让你的Web应用快人一步
- 为什么spring Boot是一个线程处理一个web请求而不是一个线程处理一次tcp连接?
- SpringMVC访问WEB-INF下的jsp解决方案&Spring Boot集成使用jsp
- 毕设项目 Spring Boot大学生兼职发布管理系统(含源码+论文)
- Spring Boot 集成 Spring Security 实现权限认证模块
- spring boot 启动错误:Could not resolve placeholder
- Spring Boot构建RESTful Web服务
- Spring MVC资源绑定视图解析器
- Spring ——《第一章》Spring的基本应用
- 【Spring6】| JdbcTemplate(Spring中的CRUD)