小白的springboot之路(一)、环境搭建、第一个实例
小白的springboot之路(一)、环境搭建、第一个实例
0- 前言
Spring boot + spring cloud + vue 的微服务架构技术栈,那简直是爽得不要不要的,怎么爽法,自行度娘,我们不废话,好了,下面直接上酸菜:
1- 环境搭建
涉及工具:
jdk jdk1.8.0_144
idea 2019.1.3
maven3.6.0
1.1- 安装JDK1.8:讲bin目录路径加入系统环境变量(方法自行度娘)
1.2- 安装idea并和谐掉:(和谐方法自行度娘,注意:idea2019.1.3成功和谐,2019.2无法和谐成功,请用2019.1或以下版本)
1.3- 安装maven:idea其实已经自带maven,但我们不用它,我们就爱用自己安装的;安装完在maven目录下新建一个repository文件夹作为maven相关下载的存储空间,如图:

1.4-更改idea的maven设置:
文件—设置—构建,执行,部署—构建工具—maven(我的idea已汉化为中文,喜欢洋文的自行找对应洋文菜单);然后如图三项更改为自己安装的maven:

1.5-安装Maven Helper 插件:非必须,但该插件对我们查看和处理依赖冲突很有方便,安装它;
文件—设置—Plugins;输入Maven Helper,就会搜素到它,然后点install安装它即可(不行就多刷新几次,国内局域网你懂的,连不上也不奇怪,多刷新几次就行),,如图(类似界面,我的因为已经安装,所以不显示Maven Hepler):

安装完重启idea,安装完成后,当我们打开项目的pom文件,就会多出一个tab出来方便查看和处理依赖冲突:

1.6 – idea设置(添加类和方法的注释模板):一个好的coder做好注释是基本素养,我们在idea中设置好模板让它自动添加注释就不用我们什么都自己敲键盘添加了,提高效率:
类注释模板:文件—设置—编辑器—文件和代码模板;选择class;在里面写入模板代码: 【注:各变量获取的值:${NAME}类名,${USER}电脑系统的用户名、${DATE}日期、${TIME}时间、${PROJECT_NAME}项目名】;如下
/**
* @description: TODO
* @author: anson
* @Date: ${DATE} ${TIME}
* @version: 1.0
*/

完毕,用法:添加类的时候,注释就会自动添加上去了
方法注释模板:
转到代码模板,在右边+号点template group新建一个分组;填上自己喜欢的名字:


然后,在自己那个分组中,继续点+号选第一个live Template;上面选择回车,下面填入*,然后在内容中填入:
* * @Author anson * @Description //TODO * @Date $date$ $time$ * @Param $param$ * @return $return$ */
;如图:

点击底下Define中选择Java:

点击编辑变量;选择相关取值表达式,如图:

点应用、确定;完毕;
用法:当我们在方法上敲了/*后,直接按回车键,就会自动补全注释了;
好了,环境全部搭建完毕,开始愉快的撸码之旅 吧;
2- 第一个例子
Idea中创建spring boot项目有两种方式,一种是spring initializr;一种是Maven;先简单说下两者的区别,spring initializr是通https://start.spring.io来自动生成springboot的项目,能自动帮我们生成相关项目文件夹和在pom中自动添加相关依赖;是最方便的方式,网上大部分介绍都是采用这种方式介绍;maven的方式只是生成基本的项目文件夹,需要自己手动创建部分文件和手动在pom中添加依赖;
我推荐采用maven的方式,理由:spring initializr虽然方便一点,但是它必须连https://start.spring.io这个国外网站去生成项目;众所周知,咱国内是局域网,加上最近贸易战政治因素影响,不管你是翻墙、代理还是啥,一百次能顺利连上一次,你已经是个幸运儿,况且这些方式都是有风险的,最近看新闻的人应该都知道了,XX公司因为用软件翻墙上国外网站,被处罚和判刑了;所以,私底下翻翻墙就算了,在公司,还是不要冒这险了;再者,maven构建项目,只是多了几步手动添加文件和pom依赖而已,结论:不要用spring initializr这种方式浪费时间,直接用maven的方式来构建spring boot项目,好,废话了一推,开始:

下一步,填入相关ID名称:

下一步,填入项目名称,完成

项目中生成如图结构:

Pom.xml是依赖配置文件,test文件夹是测试文件夹;main/Java是源码文件夹,在里面撸码;resource用来放置相关资源文件,如图片啊、配置文件啊、sqlmap文件等;这是个空的项目框架,好,我们开始写个hello world,几步就能搞定;
2.1、pom中添加相关依赖:如下,看注释:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <!-- 该几项为 项目生成时自动添加的 -->
<groupId>com.anson</groupId>
<artifactId>Demo6</artifactId>
<version>1.0-SNAPSHOT</version> <!-- 1、添加parent,添加以后依赖就可以不用带version版本号-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.5.RELEASE</version>
<relativePath/>
<!-- 从 spring-boot-starter-parent继承版本号 -->
</parent> <properties>
<!-- 2、指定JDK版本为1.8 -->
<java.version>1.8</java.version>
</properties> <dependencies>
<!-- 3、添加web和test的依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>2.0.5.RELEASE</version>
<scope>test</scope>
</dependency> </dependencies> <build> <!--4、添加Spring Boot插件 -->
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins> </build> </project>
2.2、添加启动类:先创建两个包:anson.controller、anson.service;然后在anson项目根目录下创建启动类app.java,设置为启动类,如下:
package anson; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; /**
* @description: 启动类
* @author: anson
* @Date: 2019/9/3 21:30
* @version: 1.0
*/ @SpringBootApplication //添加启动类注解
public class app
{
public static void main(String[] args)
{
SpringApplication.run(app.class,args); //添加SpringApplication.run方法
}
}
4、 添加配置文件,在resource中添加application.properties文件,如下:
#服务器配置
server.port=8090
完成,项目结构如下:

3、 运行、生成、部署
3.1、运行:
点击运行,即可运行项目,在浏览器中输入方法地址,即可看到结果,如图:


3.2、生成:idea右侧,maven—lifecycle-package即可打包项目,打包完成后,在左侧项目taget文件夹下,即生成了JAR包:


3.3、部署:spring boot项目内置了服务器,直接将生成的JAR包拷到相关服务器即可直接通过命令运行:
Java -jar <jar包路径>

好了,spring boot开发项目就是这么简单,下节继续;
小白的springboot之路(一)、环境搭建、第一个实例的更多相关文章
- ArcGIS API for JavaScript开发环境搭建及第一个实例demo
原文:ArcGIS API for JavaScript开发环境搭建及第一个实例demo ESRI公司截止到目前已经发布了最新的ArcGIS Server for JavaScript API v3. ...
- Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例【附详细代码】
http://blog.csdn.net/xiefu5hh/article/details/51707529 Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例[附 ...
- ArcGIS Pro开发Web3D应用(1)——环境搭建与初始实例
1.搭建环境 1.1 ArcGIS Web3D软件环境 ArcGIS Pro 2.0(必须) ArcGIS for Enterprise 10.5.1 (从10.5开始称呼为Enterprise)包括 ...
- android Jni NDK开发环境搭建及其简单实例的编写
android Jni NDK开发环境搭建及其简单实例的编写 由于工作需要,需要采用开发想要的JNI,由于之前没有接触过安卓的开发,所以更加网上的帖子,学习了下.遇到了些问题,然后总结下学习过程中 ...
- 我的Cocos Creator成长之路1环境搭建以及基本的文档阅读
本人原来一直是做cocos-js和cocos-lua的,应公司发展需要,现转型为creator.会在自己的博客上记录自己的成长之路. 1.文档阅读:(cocos的官方文档) http://docs.c ...
- 小白学习VUE第二课:环境搭建 VUE Node.js VSCode template模板
环境搭建 VUE Node.js VSCode template模板: 首先安装node:http://www.runoob.com/nodejs/nodejs-install-setup.html ...
- [微信营销企划之路]001.环境搭建(XAMPP+WeiPHP)
引言 本系列适合0基础的人员,因为我们就是从0开始的,此系列记录我们步入微信营销企划并进行开发的一些经验分享,望与君共勉!作为刚刚踏入微信队伍中的新人的我们,如果有什么不对的地方,还望不吝赐教. 在开 ...
- hadoop_spark伪分布式实验环境搭建和运行实例详细教程
hadoop+spark伪分布式环境搭建 安装须知 单机模式(standalone): 该模式是Hadoop的默认模式.这种模式在一台单机上运行,没有分布式文件系统,而是直接读写本地操作系统的文件系统 ...
- SSH框架总结(环境搭建+框架分析+实例源码下载)
一.SSH框架简介 SSH是struts+spring+hibernate集成的web应用程序开源框架. Struts:用来控制的,核心控制器是Controller. Spring:对Struts和H ...
随机推荐
- 《Effective Java》 读书笔记(五)使用依赖注入取代原本的资源依赖
相信接触过Spring的同学,对于依赖注入并不陌生. 刚开始在听说这个名字的时候,一直不明白到底什么叫依赖注入,后来才发现,依赖注入一直都存在我们日常代码中,只是我们没有刻意的把它提出来,然后再取这样 ...
- 学习笔记15_ASP母版页
*网页母版页设计通用样式#header:{height:100px;width:1000px}#leftDiv:{float:left;width:200px}#mainDiv:{margin-lef ...
- word转HTML部署到服务器不能运行
已经解决.在网上找的:网址:http://blog.sina.com.cn/s/blog_852ca01901016lyz.html远程调用Excel.Word.PowerPoint,服务器端设置(2 ...
- iOS和macOS上的Message-ID和Mail.app深度链接
如何在iOS上通过电子邮件进行无缝的“无密码”身份验证. Apple平台上的邮件和日历集成 在macOS和iOS上查看电子邮件时,邮件会在[检测到的日期和时间]下划线 .您可以与他们互动以创建新的日历 ...
- nginx篇最初级用法之地址重写
nginx服务器的地址重写,主要用到的配置参数是rewrite rewrite regex replacement flag rewrite 旧地址 新地址 [选项] 支持的选项有: last 不再读 ...
- CSPS模拟 96
我菜的一批. 反省一下,我只能在简单场考的好的原因. 过分依赖灵感,不注意积累思路历程和各种套路.没灵感直接崩了 懒得打暴力,主要还是代码能力限制,打暴力真的很费时费力 不打对拍,这个emmm和第二条 ...
- python机器学习——随机梯度下降
上一篇我们实现了使用梯度下降法的自适应线性神经元,这个方法会使用所有的训练样本来对权重向量进行更新,也可以称之为批量梯度下降(batch gradient descent).假设现在我们数据集中拥有大 ...
- [转载]2.4 UiPath循环活动While的介绍和使用
一.While循环的介绍 先判断条件是否满足, 如果满足, 再执行循环体, 直到判断条件不满足, 则跳出循环 二.While循环在UiPath中的使用 1. 打开设计器,在设计库中新建一个Flowch ...
- linux shell脚本语法笔记
1.&,&&,|,|| &:除了最后一个cmd,前面的cmd均已后台方式静默执行,执行结果显示在终端上,个别的cmd错误不影响整个命令的执行,全部的cmd同时执行 &a ...
- Java传参-基本数据类型和引用数据类型作为参数的区别(值传递)
java中的方法可以传递参数,参数的传递方法就是值传递. 参数有形参和实参,定义方法时写的参数叫形参,真正调用方法时,传递的参数叫实参. 调用方法时,会把实参传递给形参,方法内部其实是在使用形参. 所 ...