什么是**SpringBoot?**

Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot 致力于在蓬勃发展的快速应用开发领域(rapid
application development)成为领导者。–摘自百度百科

2. 为什么现在用**SpringBoot?**

1. 创建独立的 Spring 应用程序

2. 嵌入的 Tomcat,无需部署 WAR 文件

3. 简化 Maven 配置

4. 自动配置 Spring

5. 提供生产就绪型功能,如指标,健康检查和外部配置

6.开箱即用,没有代码生成,也无需 XML 配置。

3. Spring Boot**特性理解 **

1.为基于 Spring 的开发提供更快的入门体验

2.开箱即用,没有代码生成,也无需 XML 配置。同时也可以修改默认值来满足特定的需求。

3.提供了一些大型项目中常见的非功能特性,如嵌入式服务器、安全、指标,健康检测、外部配置等。

4.Spring Boot 并不是对 Spring 功能上的增强,而是提供了一种快速使用 Spring 的方式。

4. SpringBoot**环境搭建 **

学习一个东西的第一步是要学会如何迅速搭建起来一个可用的环境,也就是 demo.这里我选择的开发环境是 Eclipse,

Maven + Spring Web 项目结构在 Eclipse 下面的实现

我们在这里所要实现的关键就是如何保证 Maven 规定的目录结构。 这里对于 Maven 的目录结构做一个简单的说明:
src/main /Java src/main/resources

第一步:在 Eclipse 下面配置 Maven 环境: 略

第二步: 构建 Maven+spring web 项目 :
1.打开 Eclipse,选择新建 Maven Project,

2.然后利用向导分别建立一个 webapp 项目和 quickStart 项目


在新建的过程中会要设置要设置几个东西 groupId = cn.springbooot artifactId =SpringBootFrist ,剩下的设置就用默认的就可以了。

3.然后是将 webapp 项目下面的 WebApp 目录复制到 quickstart 项目之中,最后在在 SpringBootFirst 工程下面新建一个 src/main/resources 目录来配合 Maven 的目录结构。这样最后形成的 SpringBootFirst 工程就已经基本实现了整体的框架。


Spring boot 实现简单的 RestFul 项目

在 Spring 的官网中有关于 SpringBoot 的介绍 http://projects.spring.io/spring-boot/ 。
在 Spring Boot 中为了简化在 Spring 开发中所需要的繁杂的配置文件的处理,对于这些配置进行了轻量级封装。我们在使用 Spring Boot 进行开发的时候,需要关注很少的配置方面的问题,从而更多精力在业务逻辑上面。

第一步: pom.xml 配置文件的设置
Boot 提供了许多的“starter”模块,它们定义了一组依赖,这些依赖能够添加到构建系统之中,从而解析框架及其父平台所需的特定类库。例如,spring-boot-starter-actuator 依赖会引入一组基本的 Spring 项目,从而实现应用的快速配置和即时可用。关于这种依赖,值得强调的一点就是当开发 Web 应用,尤其是 RESTful Web 服务的时候,如果包含了 spring-boot-starter-web 依赖,它就会为你提供启动嵌入式Tomcat 容器的自动化配置,并且提供对微服务应用有价值的端点信息,如服务器信息、应用指标(metrics)以及环境详情。除此之外,如果引入 spring-boot-starter-security 模块的话,actuator 会自动配置 Spring Security,从而为应用提供基本的认证以及其他高级的安全特性。它还会为应用结构引入一个内部的审计框架,这个框架可以用来生成报告或其他的用途,比如开发认证失败的锁定策略。

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.3.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin </artifactId>
</plugin>
</plugins>
</build>

上面这个是实现 Spring Boot 中 web 服务最基本的配置,写在 pom.xml 中就可以了。

第二步:编写 Java 代码
首先我将 Spring Boot 官方所给的代码例子贴在下面,以此说明,在 Spring Boot 的项目运行,部署和发布,我们需要的东西不是很多。

package hello;

import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.stereotype.*;
import org.springframework.web.bind.annotation.*; @RestController
@EnableAutoConfiguration
public class SampleController { @RequestMapping("/")
@ResponseBody
String home() {
return "Hello World!";
} public static void main(String[] args) throws Exception {
SpringApplication.run(SampleController.class, args);
}
}

将上述的代码放入 SpringBootFirst 工程的 src/main/java 目录下面,进行运行,再在浏览器中输入http://localhost:8080/ ,我们就能看到“Hello,World”了。

在 Spring 官网GUIDES 目录下有很多的小 demo,用非常简洁精炼的例子来进行说明某些特性。这里以其中的第一个项目也就是 Building a RESTful Web Service 项目来进行说明,我们只需要将源码下载下来,再把 src/main/java 中的代码复制到 SpringBootFirst 项目的 src/main/java 目录下面就可以了。

springboot之学习搭建的更多相关文章

  1. SpringBoot技术栈搭建个人博客【前台开发/项目总结】

    前言:写前台真的是我不擅长的东西...所以学习和写了很久很久...前台页面大概开发了两天半就开发好了,采用的静态的html和bootstrap来写,写后台的时候纠结住了...怎么说呢,写页面真的是头疼 ...

  2. SpringBoot技术栈搭建个人博客【后台开发】

    前言:在之前,我们已经完成了项目的基本准备,那么就可以开始后台开发了,突然又想到一个问题,就是准备的时候只是设计了前台的RESTful APIs,但是后台管理我们同样也是需要API的,那么就在这一篇里 ...

  3. 补习系列(1)-springboot项目基础搭建课

    目录 前言 一.基础结构 二.添加代码 三.应用配置 四.日志配置 五.打包部署 小结 前言 springboot 最近火的不行,目前几乎已经是 spring 家族最耀眼的项目了.抛开微服务.技术社区 ...

  4. MacOS下SpringBoot基础学习

    学于黑马和传智播客联合做的教学项目 感谢 黑马官网 传智播客官网 微信搜索"艺术行者",关注并回复关键词"springboot"获取视频和教程资料! b站在线视 ...

  5. kotlin+springboot+mybatis-puls+mysql搭建gradle-web工程

    kotlin+springboot+mybatis-puls+mysql搭建web工程 ​ 前段时间研究了spring security及OAuth2系列之后,本来打算研究spring的,但是部门发生 ...

  6. Springboot 框架学习

    Springboot 框架学习 前言 Spring Boot是Spring 官方的顶级项目之一,她的其他小伙伴还有Spring Cloud.Spring Framework.Spring Data等等 ...

  7. Jenkins持续集成学习-搭建jenkins问题汇总

    目录 Jenkins持续集成学习5-搭建jenkins问题汇总 目录 前言 问题列表 nuget还原包问题 编译问题 SVN更新问题 参考文档 Jenkins持续集成学习5-搭建jenkins问题汇总 ...

  8. springBoot框架的搭建

    1新建一个项目: 2.注意选择JDK1.8,和选择spring initializr加载springBoot相关jar包: 3.下一步next: 4.下一步next,选择Web和MyBatis然后ne ...

  9. SpringBoot使用SpringSecurity搭建基于非对称加密的JWT及前后端分离的搭建

    SpringBoot使用SpringSecurity搭建基于非对称加密的JWT及前后端分离的搭建 - lhc0512的博客 - CSDN博客 https://blog.csdn.net/lhc0512 ...

随机推荐

  1. pkill精确匹配进程名称

    kill对应的是PID,pkill对应的是command pgrep -l mycmd 注意命令名称过长pkill匹配进程名称是有可能被截取. pkill -9 '^pu_simulatio(n$|n ...

  2. (转)js中then方法说明

    javascript中的then方法说明: then()方法是异步执行.  意思是:就是当.then()前的方法执行完后再执行then()内部的程序,这样就避免了,数据没获取到等的问题.  语法:pr ...

  3. 2017年广东省ACM省赛(GDCPC-2017)总结

    今年第一次参加省赛(也是第一次参加这类比赛),既有点惊喜又有点紧张,前一晚没有怎么睡好,有点怕今年打铁,虽然说大一打铁也说的过去,可是谁也不想打铁. 一开始比赛的时候我一开始没有去看题,而是把我们队的 ...

  4. zabbix监控惠普打印机

    http://www.ttlsa.com/zabbix/zabbix-monitor-hp-printer/

  5. mysql 优化之索引的使用

    mysql 优化之索引的使用 1:MySQL 索引简介: MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度. 打个比方,如果合理的设计且使用索引的MySQL ...

  6. CentOS7 修改网卡名称为eth0 & 在VMWare中添加多网卡配置

    目录 目录 前言 在CentOS 7 中为什么这样命名网卡 在RHEL7中使用RHEL6的网卡命名规则 在VMWare中为CentOS7添加网卡设备 前言 无论是RHEL 7.还是CentOS 7都使 ...

  7. ES6中数组和对象的扩展运算符拷贝问题以及常用的深浅拷贝方法

    在ES6中新增了扩展运算符可以对数组和对象进行操作.有时候会遇到数组和对象的拷贝,可能会用到扩展运算符.那么这个扩展运算符到底是深拷贝还是浅拷贝呢? 一..使用扩展运算符拷贝 首先是下面的代码. le ...

  8. Eclipse 添加Hibernate 插件

    打开Eclipse, Help-->Eclipse Marketplace   在搜索框输入JBoss-Tools ,回车   根据搜索结果选择与自己Eclipse版本匹配的JBoss,然后点击 ...

  9. python学习中

    python中的单引号.双引号.三引号的用法 网上也查找了资料,理解的都有些费劲 就自己验证了一下(主要是目前掌握的python知识,不知道什么时候会同时用到这三种引号) 用python3验证的 单引 ...

  10. 【Linux开发】OpenCV在ARM-linux上的移植过程遇到的问题1---cvNamedWindow调用报错的问题

    问题描述: 这个实际上是最后一部的问题,将生成的共享库文件放入到了/usr/local/opencv-arm/lib下,并且设置了LD_LIBRARY_PATH中为/usr/local/opencv- ...