小白的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 ...
随机推荐
- C++学习笔记10_输入输出流.文件读写
//从键盘输入到程序,叫标准input:从程序输出到显示器,叫标准output:一并叫标准I/O //文件的输入和输出,叫文件I/O cout<<"hellow word&quo ...
- jquery获取input输入框中的值
如何用javascript获取input输入框中的值,js/jq通过name.id.class获取input输入框中的value 先准备一段 HTML <input type="tex ...
- 从Gartner IT Symposium,看RPA“一半是海水一半是火焰”
2019年,艺赛旗和Gartner建立了咨询合作,并在企业发展策略中汲取了Gartner的部分建议.今年Gartner在全球召开了多场IT Symposium,并在Symposium发布2020的相关 ...
- python——高阶函数:高阶函数
python高阶函数 00初识高阶函数 一等公民 函数在python中是一等公民(First-Class Object),同样和变量一样,函数也是对象,只不过是可调用的对象,所以函数也可以作为一个普通 ...
- 为什么我加了索引,SQL执行还是这么慢(一)?
在MySQL中,有一些语句即使逻辑相同,执行起来的性能差异确实极大的. 先抛出一个结论:如果想使用索引树搜索功能,就不能使用数据库函数来处理索引字段值,而是在不改变索引字段值的同时,自己通过SQL语句 ...
- ASP.NET Core 1.0: 指定Default Page
前不久写过一篇Blog<指定Static File中的文件作为Default Page>,详细参见链接. 然而,今天偶然发现了一个更加简洁的方法,直接使用Response的Redirect ...
- MyBatis批量更新动态sql
<update id="updateDataKetState"> update ${tablespace}.IDEA_DATAKEY_STATE <trim pr ...
- 微信web协议,群成员唯一uin,获取群成员唯一标识
群成员唯一标识获取接口 全网最新,支持调试测试.觉得OK再付款! 800元出售源码 不讲价 联系QQ:2052404477
- nyoj 198-数数 (python, string[::-1])
198-数数 内存限制:64MB 时间限制:3000ms 特判: No 通过数:16 提交数:25 难度:2 题目描述: 我们平时数数都是喜欢从左向右数的,但是我们的小白同学最近听说德国人数数和我们有 ...
- Linux系统时间\硬件时间(date、tzselect、clock、hwclock、ntpdate)
1.系统时间和硬件时间 在Linux中有硬件时钟与系统时钟两种时钟.硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟.系统时钟则是指kernel中的时钟.所有Linux相关指令与函 ...