Spring boot (一):入门篇
Spring boot 简介
Build Anything with Spring Boot:Spring Boot is the starting point for building all Spring-based applications. Spring Boot is designed to get you up and running as quickly as possible, with minimal upfront configuration of Spring.
上面是引用spring boot官方的话,简单来说spring boot是所有基于spring 应用的起点,spring boot的设计初衷就是想让开发者尽可能快地把项目运行起来,而且尽可能减少你的配置文件。
Spring boot 优势
其实上面的简介已经可以看出了spring boot的优势,主要就是一个——快!
回想起传统的一个web项目,即使是最简单的一个web项目,需要什么步骤呢?
1) 配置web.xml
2) 配置spring 文件,注入各种bean
3) 配置日志文件
...
如果涉及数据库和缓存还要配置数据库事务,缓存配置等等...构建完成后配置tomcat运行发布。
可能简简单单一个在线注册只需要填写用户名和电话的系统就配置就可能花你一天的时间了,这就是传统基于spring的web框架的弊端——配置太繁琐!
那么有了spring boot搭建一个web 项目需要做什么呢?
1.配置pom.xml,引入需要的jar包和构建命令。(通常做好一个模板就可以直接copy,不用每次都写)
2.编写你的controller。
3.运行spring-boot :run 把项目跑起来。
这里只需要三步就能构建一个简单的web项目,可见spring boot的简洁和简便,而且因为自带tomcat,更加让开发人员免去部署tomcat等麻烦。
项目结构

如上图所示,Spring Boot的基础结构共三个文件:
src/main/java 程序开发以及主程序入口
src/main/resources 配置文件
src/test/java 测试程序
搭建入门
- 新建一个maven project新建一个maven project,然后选择“maven-archetype-quickstart”,然后输入你的项目名字。

2. 配置好pom.xml
打开pom.xml,加上以下代码:
<!-- spring boot 基本环境 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.1.RELEASE</version>
</parent> <!--web应用基本环境配置 -->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies> <!-- 打包spring boot应用 -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
3. 打开App.java,加上
@SpringBootApplication
注解,然后把main函数改成
public static void main( String[] args )
{
SpringApplication.run(App.class, args);
}

到这步springboot 的配置就已经完成,可以开始写你的业务层,编写一个helloword,然后就可以 用 spring-boot:run 运行。
@RestController
public class HelloWorld { @RequestMapping("/hello")
public String hello(){
return "Hello Spring Boot !";
} }


打开浏览器输入http://localhost:8080/hello 即可见到 “Hello Spring Boot !”.

重点详解
- spring-boot-starter :核心模块,包括自动配置支持、日志和YAML。
- spring-boot-starter-test :测试模块,包括JUnit、Hamcrest、Mockito。
- @RestController : controller里面的方法都以json格式输出,相当于 @Controller + @ResponseBody
- @SpringBootApplication : 是 Spring Boot 的核心注解,它是一个组合注解,该注解组合了:@Configuration @EnableAutoConfiguration @ComponentScan , 若不是用 @SpringBootApplication 注解也可以使用这三个注解代替。
其中,@EnableAutoConfiguration 让 Spring Boot 根据类路径中的 jar 包依赖为当前项目进行自动配置,例如,添加了 spring-boot-starter-web 依赖,会自动添加 Tomcat 和 Spring MVC 的依赖,那么 Spring Boot 会对 Tomcat 和 Spring MVC 进行自动配置。Spring Boot 还会自动扫描 @SpringBootApplication 所在类的同级包以及下级包里的 Bean ,所以入口类建议就配置在 grounpID + arctifactID 组合的包名下(这里为 com.springboot.demo 包)
GitHub 地址:https://github.com/chris-study-practice/springboot-study-demo
注意事项:
1. Spring Boot的被@SpringBootApplication注解的App.java必须放在所有的RestController的根路径的package下.
Spring boot (一):入门篇的更多相关文章
- Spring Boot -01- 快速入门篇(图文教程)
Spring Boot -01- 快速入门篇(图文教程) 今天开始不断整理 Spring Boot 2.0 版本学习笔记,大家可以在博客看到我的笔记,然后大家想看视频课程也可以到[慕课网]手机 app ...
- spring boot 学习入门篇【spring boot项目的搭建以及如何加载jsp界面】
[ 前言] Spring Boot 简介:Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置, ...
- spring boot入门教程——Spring Boot快速入门指南
Spring Boot已成为当今最流行的微服务开发框架,本文是如何使用Spring Boot快速开始Web微服务开发的指南,我们将使创建一个可运行的包含内嵌Web容器(默认使用的是Tomcat)的可运 ...
- Spring Boot 从入门到实战汇总
之前写过几篇spring boot入门到实战的博文,因为某些原因没能继续. 框架更新迭代很快,之前还是基于1.x,现在2.x都出来很久了.还是希望能从基于该框架项目开发的整体有一个比较系统的梳理,于是 ...
- Spring Boot从入门到精通(五)多数据源配置实现及源码分析
多数据源配置在项目软件中是比较常见的开发需求,Spring和Spring Boot中对此都有相应的解决方案可供大家参考.在Spring Boot中,如MyBatis.JdbcTemplate以及Jpa ...
- Spring Boot从入门到精通(六)集成Redis实现缓存机制
Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言 ...
- Spring Boot从入门到精通(七)集成Redis实现Session共享
单点登录(SSO)是指在多个应用系统中,登录用户只需要登录验证一次就可以访问所有相互信任的应用系统,Redis Session共享是实现单点登录的一种方式.本文是通过Spring Boot框架集成Re ...
- Spring Boot从入门到精通(九)整合Spring Data JPA应用框架
JPA是什么? JPA全称Java Persistence API,是Sun官方提出的Java持久化规范.是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中. ...
- Spring Boot 快速入门
Spring Boot 快速入门 http://blog.csdn.net/xiaoyu411502/article/details/47864969 今天给大家介绍一下Spring Boot MVC ...
- Spring Boot快速入门(二):http请求
原文地址:https://lierabbit.cn/articles/4 一.准备 postman:一个接口测试工具 创建一个新工程 选择web 不会的请看Spring Boot快速入门(一):Hel ...
随机推荐
- Python模拟浏览器多窗口切换
# 模拟浏览器多窗口切换 # 代码中引入selenium版本为:3.4.3 # 通过Chrom浏览器访问发起请求 # Chrom版本:59 ,chromdriver:2.3 # 需要对应版本的Chro ...
- 使用choices参数的实际项目表设计
# 实际项目表设计 from django.db import models # Create your models here. # rbac权限相关表格 class User(models.Mod ...
- 线程安全 Vs 非线程安全
线程安全:多线程访问时,采用了加锁机制,当一个线程读取数据时,其他线程不能访问直到该线程读取完毕.不会出现数据不一致或者脏数据. 非线程安全:不提供数据保护,可能出现其他线程访问时更改数据而该线程得到 ...
- yii框架学习(安装)
安装yii: 在本地安装前, 要确保PHP配置了环境变量, 通过cmd输入PHP -v 即可检测. 能看到PHP版本号, 则OK. PHP不是内部命令,则需要添加PHP环境变量. 使用compos ...
- vue使用ajax
1.Vue的Ajax基本用法 在vue中用Ajax需要用到vue.js和vue-resource.js; vue-resource.js的下载地址:https://cdn.staticfile.org ...
- jpa介绍
1.jpa的介绍 JPA是Java Persistence API的简称, 中文名为Java持久层API; 是JDK 5.0注解或XML描述对象-关系表的映射关系, 并将运行期的实体对象持久化到数据库 ...
- C# 多线程任务分配辅助类
1)首先实现一个多线程的辅助类,代码如下: public class ThreadMulti { public delegate void DelegateComplete(); public del ...
- Genymotion 配置
配置Android的SDK
- sublime 配置sftp代码自动上传(原)
1.首先安装Package Control 使用 ctrl+`快捷键 或者 菜单项View > Show Console 来调出命令界面 然后复制粘贴下面的Python代码到命令输入框中: im ...
- MySQL_(Java)使用preparestatement解决SQL注入的问题
MySQL_(Java)使用JDBC向数据库发起查询请求 传送门 MySQL_(Java)使用JDBC创建用户名和密码校验查询方法 传送门 MySQL数据库中的数据,数据库名garysql,表名gar ...