• 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 测试程序


  搭建入门

  1. 新建一个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 !”.


  • 重点详解

  1. spring-boot-starter  :核心模块,包括自动配置支持、日志和YAML。
  2. spring-boot-starter-test  :测试模块,包括JUnit、Hamcrest、Mockito。
  3. @RestController  : controller里面的方法都以json格式输出,相当于 @Controller  + @ResponseBody
  4. @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 (一):入门篇的更多相关文章

  1. Spring Boot -01- 快速入门篇(图文教程)

    Spring Boot -01- 快速入门篇(图文教程) 今天开始不断整理 Spring Boot 2.0 版本学习笔记,大家可以在博客看到我的笔记,然后大家想看视频课程也可以到[慕课网]手机 app ...

  2. spring boot 学习入门篇【spring boot项目的搭建以及如何加载jsp界面】

    [ 前言]  Spring Boot 简介:Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置, ...

  3. spring boot入门教程——Spring Boot快速入门指南

    Spring Boot已成为当今最流行的微服务开发框架,本文是如何使用Spring Boot快速开始Web微服务开发的指南,我们将使创建一个可运行的包含内嵌Web容器(默认使用的是Tomcat)的可运 ...

  4. Spring Boot 从入门到实战汇总

    之前写过几篇spring boot入门到实战的博文,因为某些原因没能继续. 框架更新迭代很快,之前还是基于1.x,现在2.x都出来很久了.还是希望能从基于该框架项目开发的整体有一个比较系统的梳理,于是 ...

  5. Spring Boot从入门到精通(五)多数据源配置实现及源码分析

    多数据源配置在项目软件中是比较常见的开发需求,Spring和Spring Boot中对此都有相应的解决方案可供大家参考.在Spring Boot中,如MyBatis.JdbcTemplate以及Jpa ...

  6. Spring Boot从入门到精通(六)集成Redis实现缓存机制

    Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言 ...

  7. Spring Boot从入门到精通(七)集成Redis实现Session共享

    单点登录(SSO)是指在多个应用系统中,登录用户只需要登录验证一次就可以访问所有相互信任的应用系统,Redis Session共享是实现单点登录的一种方式.本文是通过Spring Boot框架集成Re ...

  8. Spring Boot从入门到精通(九)整合Spring Data JPA应用框架

    JPA是什么? JPA全称Java Persistence API,是Sun官方提出的Java持久化规范.是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中. ...

  9. Spring Boot 快速入门

    Spring Boot 快速入门 http://blog.csdn.net/xiaoyu411502/article/details/47864969 今天给大家介绍一下Spring Boot MVC ...

  10. Spring Boot快速入门(二):http请求

    原文地址:https://lierabbit.cn/articles/4 一.准备 postman:一个接口测试工具 创建一个新工程 选择web 不会的请看Spring Boot快速入门(一):Hel ...

随机推荐

  1. PassengerNginxdebian快速部署Rails

    Passenger/Nginx/Debian快速部署Rails   PassengerNginxdebian快速部署Rails     安装所需的linux包 sudo apt-get install ...

  2. Java-DateHandler工具类

    import java.util.*; import java.text.*; public class DateHandler { public DateHandler() { } public s ...

  3. 【Maven】-maven打包跳过javadoc

    有时候由于代码中注释错误(比如方法参数)或者maven javadoc插件版本有问题,导致打包报错,而我们着急打包验证问题,没有时间一一修改错误,这时候可以先跳过生成javadoc,继续下一步工作. ...

  4. 【SQL Server】使用SQL比较版本号

    最近遇到这么一个场景,需要用SQL从表里取出版本号小于'10.2'的所有数据.目前表中以存在的数据中,版本号有两种格式,一个是'X.Y',另一个是'X'.对于SQL Server来说,其没有strin ...

  5. debug的基本用法

    1.关于debug debug是dos.windows提供的实模式程序调试工具: 作用:查看cpu各寄存器的内容.内存情况.在机器码级别追踪程序的运行: 命令: debug 参数:     r    ...

  6. codevs 3022 西天收费站 x

                         题目描述 Description 唐僧师徒四人终于发现西天就在眼前,但猴子突然发现前面有n个收费站(如来佛太可恶),在每个收费站用不同的方式要交的钱不同,输入 ...

  7. numpy中np.max() 和 np.maximum() 的区别

    np.max(a, axis=None, out=None, keepdims=False) # 接收一个参数a # 取a 在 axis方向上的最大值 np.maximum(x, y) # 接收两个参 ...

  8. 微信小程序mpvue项目使用WuxWeapp前端UI组件

    前言:这是一篇简单粗暴的使用指南 在最近的小程序项目里前端UI框架最后选择使用WuxWeapp,这篇文章记录一下如何在小程序mpvue项目中使用该UI组件. 步骤一:下载源码 (地址在这里)主要是里面 ...

  9. JavaWeb-SpringSecurity使用短信验证码登陆

    相关博文 JavaWeb-SpringBoot_一个类实现腾讯云SDK发送短信 传送门 系列博文 项目已上传至guthub 传送门 JavaWeb-SpringSecurity初认识 传送门 Java ...

  10. JavaScript数字计算精度丢失的问题和解决方案

    一.JS数字精度丢失的一些典型问题 1. 两个简单的浮点数相加:0.1 + 0.2 != 0.3 // true,下图是firebug的控制台截图: 看看java的计算结果:是不是让你很不能接受 再来 ...