Spring Boot 入门day01
一、Spring Boot入门
1.Spring Boot简介
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
2.Spring Boot优势
a):去除掉很多繁琐的配置。
b):Spring Boot 是简化Spring 开发的一个框架
c):整个Spring 技术栈的一个整合
d):J2EE一站式解决方案
3.微服务
一个应用是一组小型的服务,之间是通过HTTP来通讯的。其每一个元素都可以被独立的替换和独立升级。这区别以往的单体应用。具体解释:https://martinfowler.com/articles/microservices.html#MicroservicesAndSoa
4.环境准备
jdk 1.8 官方推荐jdk在1.7及以上 我使用 jdk1.8
Maven3.x maven 3.x以上版本 我是使用的是Maven 3.3.9(稳定)
IntelliJIDEA2018
SpringBoot 1.5.9.RELEASE:1.5.9;这个版本(稳定)
二、开发环境的搭建(步骤)
1.首先在Maven安装目录下的settings.xml文件中的<profiles>标签下,添加如下代码。
指定使用什么版本编译器进行编译代码
<!--指定使用什么编译器-->
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
2.在intellij IDEA中添加自己下载的Maven。在setting.xml>>"Build">>"Build Tools">>"Maven"


选择“Override”打上勾,选择安装位置的settings.xml配置文件路径
三、入门程序(SpringBoot hello world入门代码)
1.在IDEA中创建一个Maven工程。


第一次使用Idea 的Maven,记得选择开启自动导入功能。

2.导入SpringBoot相关依赖(必须)在pom.xml中添加如下代码。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>

第一次加载好慢,需要在网上下载所需要的依赖,时间较长耐心等待。
3.编写一个主程序;用于启动SpringBoot应用(必要)

编写如下代码:
/**
*@SpringBootApplication 标注这是主程序类,若是没有找到该注解,在pom.xml中右键reimport即可
*/
@SpringBootApplication //--->这是SpringBootApplication
public class MainApplication { public static void main(String[] args) { SpringApplication.run(MainApplication.class,args); //--->这是SpringApplication没有Boot
} }
4、编写相应的Controller、service层(要求在@SpringBootConfiguration的包或者子包下)

对于Controller层和SpringMVC的写法是一模一样。例如下面代码:
@Controller
public class HelloController { @ResponseBody //这是向浏览器中输出的内容要用的组件
@RequestMapping("/hello")//浏览器访问的路径
public String hello(){
return "hello world";
}
}
5.运行效果如下,浏览器中显示hello world

6.到第5步已经可以完成项目的发布了,在这里在介绍另一中发布方式(将项目到成jar包,在cmd 中发布)
6.1首先,需要在pom.xml中增加如下代码,引入插件,可以将项目打成jar包
<!-- 这个插件,可以将应用打包成一个可执行的jar包;-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
6.2:在idea的右上角的>>"Maven">>"你的项目名称">>"LifeCycle">>"package"

6.3 在项目的targer下存在刚才打包的醒目jar包,为了方便复制到桌面即可在cmd窗口中操作。使用java -jar xxxx.jar命令运行


运行效果如下。

Spring Boot 入门day01的更多相关文章
- 161103、Spring Boot 入门
Spring Boot 入门 spring Boot是Spring社区较新的一个项目.该项目的目的是帮助开发者更容易的创建基于Spring的应用程序和服务,让更多人的人更快的对Spring进行入门体验 ...
- spring boot 入门操作(二)
spring boot入门操作 使用FastJson解析json数据 pom dependencies里添加fastjson依赖 <dependency> <groupId>c ...
- spring boot 入门操作(三)
spring boot入门操作 devtools热部署 pom dependencies里添加依赖 <dependency> <groupId>org.springframew ...
- Spring Boot入门教程1、使用Spring Boot构建第一个Web应用程序
一.前言 什么是Spring Boot?Spring Boot就是一个让你使用Spring构建应用时减少配置的一个框架.约定优于配置,一定程度上提高了开发效率.https://zhuanlan.zhi ...
- Spring Boot入门教程2-1、使用Spring Boot+MyBatis访问数据库(CURD)注解版
一.前言 什么是MyBatis?MyBatis是目前Java平台最为流行的ORM框架https://baike.baidu.com/item/MyBatis/2824918 本篇开发环境1.操作系统: ...
- Spring Boot 入门教程
Spring Boot 入门教程,包含且不仅限于使用Spring Boot构建API.使用Thymeleaf模板引擎以及Freemarker模板引擎渲染视图.使用MyBatis操作数据库等等.本教程示 ...
- Spring Boot入门(五):使用JDBC访问MySql数据库
本系列博客记录自己学习Spring Boot的历程,如帮助到你,不胜荣幸,如有错误,欢迎指正! 在程序开发的过程中,操作数据库是必不可少的部分,前面几篇博客中,也一直未涉及到数据库的操作,本篇博客 就 ...
- Spring Boot入门(四):开发Web Api接口常用注解总结
本系列博客记录自己学习Spring Boot的历程,如帮助到你,不胜荣幸,如有错误,欢迎指正! 在程序员的日常工作中,Web开发应该是占比很重的一部分,至少我工作以来,开发的系统基本都是Web端访问的 ...
- Spring Boot入门(六):使用MyBatis访问MySql数据库(注解方式)
本系列博客记录自己学习Spring Boot的历程,如帮助到你,不胜荣幸,如有错误,欢迎指正! 本篇博客我们讲解下在Spring Boot中使用MyBatis访问MySql数据库的简单用法. 1.前期 ...
随机推荐
- MySql基本查询、连接查询、子查询、正则表达查询解说
林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 查询数据指从数据库中获取所须要的数据.查询数据是数据库操作中最经常使用,也是最重要的操作.用户 ...
- nginx实现限速
项目中有一个需求,需要限制每个容器的网速,避免某些容器占用太多资源,导致其他容器无法使用,但是docker对于网速的限制支持的有点弱,由于容器中的所有进程和APP的交互都是通过nginx的,所以就想到 ...
- .net core 2.0 虚拟目录下载 Android Apk 等文件
当Android 文件 Apk 放在Asp.net core wwwroot 虚拟目录下面.访问是 404,设置Content-Type类型 app.UseStaticFiles(); //设置实际目 ...
- 【Python】 Numpy极简寻路
[Numpy] 先感叹下最近挖坑越来越多了.. 最近想不自量力地挑战下ML甚至DL.然而我也知道对于我这种半路出家,大学数学也只学了两个学期,只学了点最基本的高数还都忘光了的渣滓来说,难度估计有点大. ...
- Javascript中Promise对象的实现
http://segmentfault.com/a/1190000000684654 http://www.infoq.com/cn/news/2011/09/js-promise/
- ubuntu16.04英文版搜狗输入法安装报错
1.因为是英文版的,所以需要更新中文字体 Systems Settings>Language Support ,会提示自动更新,这个时候KeyBorad input method 选择不了fci ...
- springboot 2.0 mariadb hikari-cp连接池
直到今天 2018年9月29日 10:00:38 ,hikari-cp 在maven 官方仓库最新版本为2.6 SpringBoot 2.0.5 控制台输出,默认的是 2.7.9 spring-boo ...
- C#俄罗斯方块小游戏程序设计与简单实现
C#俄罗斯方块小游戏程序设计与简单实现 相信90后或者80后都玩过这款小游戏,一直想干一票,琢磨一下,但又不太懂,于是网上搜集修改就有了以下效果!bug较多,多多包涵! 1.效果展示 2.实现方法 参 ...
- 【CF666C】Codeword 结论题+暴力
[CF666C]Codeword 题意:一开始有一个字符串s,有m个事件,每个事件形如: 1.用一个新的字符串t来替换s2.给出n,问有多少个长度为n的小写字母组成的字符串满足包含s作为其一个子序列? ...
- RecyclerView实现分组展示信息
extends:http://blog.csdn.net/wzlyd1/article/details/52292548 前言 一直在鸿洋大神的安卓群里水群,渐渐的loader和安卓弟等人都成长了起来 ...