2020版本以及后面的设置
#后面配置maven同上
File -> new project settings -> settings for new projects
idea的版本不用太新或者比较旧的版本,稳定就行。我个人一直沿用的2017.1的版本,用作测试完全没问题的。打开IDEA首先显示已经创建过的项目。
进入主界面创建项目方法
创建项目
这里会选择你的启动IDEA默认配置的JDK版本,当然右上角的New可以配置安装其它的JDK版本。
进入项目配置文件列表
我选择的是JDK8
版本与我默认使用版本保持一致。你也可以视情况而定,这个并不冲突。第三种创建方式对项目配置列表有的详细的描述,这里就不做过多介绍。
配置pom依赖
为了演示需要,我选择了Spring Web
选项。
配置完后,点击finish创建项目
project:项目名
project location:工作空间,可以自行选择修改的。
配置maven镜像
官方默认的镜像地址是国外的,懂得都懂,龟速前进。配置阿里云的镜像地址,瞬间飞一般的感觉,纵享丝滑,仿佛没戴套子。
配置settings.xml
文件,设置repo
存储地址。
将下面的阿里云maven镜像地址配置到mirrors中。
当然也可以配置到pom.xml
文件中,单个项目生效。
alimaven
aliyun maven
http://maven.aliyun.com/nexus/content/groups/public/
central
做完上面的配置后,再配置置自己下载的maven
到IDEA
中。eclipse
配置maven
也是大同小异,我就没截图了。
注意:这里选中项目进行设置,只对单个项目生效的,上面有说明的。
项目的启动就不做过多截图了,选中DemoApplication.java
通过右键点击run
运行,项目右上角也有run
选项启动。
或者在控制台使用命令运行,清理后打包再运行。这个命令适用windows
平台的CMD
控制台以及DIEA
自带的Terminal
控制台,其它方式请参考官方文档。
mvn clean package spring-boot:run
项目启动成功的界面
![在这里插入图片描述](https://img-blog.csdnimg.cn/20 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 200924133928630.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1RvbG92ZV9kcmVhbQ==,size_16,color_FFFFFF,t_70#pic_center)
IDEA这个工具太强大了,里面还有很多快捷键需要你自己摸索熟练的应用。我最喜欢这款软件的原因,是她的自动保存机制真的很nice。
也不排除有的人就喜欢用eclipse,直到现在我还是用eclipse比较多,可能是先入为主吧,很多快捷键都适应了。由于是初体验,所以花了很大篇幅讲解了利用开发工具创建项目。
使用何种IDE,视你的实际工作环境而定,没必要纠结。
[](()四、spring-boot官网直通车。
进入官网可以看到此时的最新稳定版是2.0版本的:2.3.4.release(release代表稳定版)
可以参考官方文档,毕竟最好的自学方式,还是采用官方文档。此时最新稳定版为2.3.4。
[https://spring.io/projects/spring-boot](()
[](()五、通过spring官网快捷创建项目
点击开启创建项目之旅:[https://start.spring.io/](()
详细的描述
以下是截的全图
将上面的截图拆分讲解含义
Project:采用maven或者其它方式构建
Language:采用java语言或者其它语言
Dependencies:pom文件依赖,勾上spring-web
Spring Boot版本:2.3.4目前最新稳定版
Project Metadata:值得注意的几个点
Group:项目组名,例如com.kart
Artifact:项目名,例如demo
Description:项目描述
Packaging:打包,Jar包或者War包
Package name:项目包名,例如com.tcloud.demo.
Java版本:采用JDK8或者11,具体是实际情况而定
GENERATE CTRL+:点击创建项目
windows下面的CMD命令操作我就不做过多描述。
习惯了linux下的命令操作,反而不习惯win的命令操作了。
使用CMD命令提示符或者win10自带的win_powershell都可以,以管理员身份运行。
切换到D盘。与linux不同,linux
是一个文件系统。
d:
切换到具体目录,这点和linux
是一样的
#例如 cd 接具体目录
cd /workspace/demo
mvn命令运行项目
mvn clean package spring-boot:run
其实,使用开发工具创建项目和这种模式差不多,区别不大。无论是sts-eclipse
,还是IDEA
和eclipse
创建项目都是大同小异的。创建完后,可以使用eclipse或者IDEA导入(import)项目,只是使用工具创建项目更加方便而已。
工欲善其事,必先利其器。 假如创建项目折腾半天,你可能会半途而废。所以上面花了很大的篇幅介绍了各种工具的使用,如何快速创建springboot
项目。开发工具篇到此就全部介绍完了。后面衔接解决问题篇,介绍了我遇到的一些问题,将来你可能也会遇到。
[](()解决问题篇
[](()一、发现问题
idea启动spring-boot项目问题
No active profile set, falling back to default profiles: default
可以选择忽略掉,程序运行起来是没问题的
Process finished with exit code 0
翻译:程序执行完毕并退出
[](()二、思考问题
应该与spring-boot版本无关。
在控制台,使用以下命令执行是没问题的。
mvn clean package spring-boot:run
所以猜测是不是idea启动与pom文件的某个设置属性有关,由此发现tomcat设置有问题。
[](()三、解决方案
万一遇到jar包冲突
org.springframework.boot
spring-boot-starter-tomcat
provided
使用eclipse for javaee:启动毫无问题。
使用idea:屏蔽掉<! --< scope >provided</ scope > -->这个属性,启动不会退出。
保留一点悬念。关于scope
属性的用法,这里不做描述,请阅读官方文档。解决问题篇到此就全部描述完了,后面衔接具体讲解篇,会简单的涉及到mvc三层中的controller
和dao
(jpa里面就叫repository)的简单使用。
[](()具体讲解篇
[](()一、controller的简单使用
[](()常用的一些注解
@Controller
作用:处理http请求
@RestController
作用:spring4之后新加的注解,原来返回json数据需要ResponseBody+@Controller配合使用。
//(旧版,特殊需求需要用到)
@RequestMapping
作用:配置url映射
@GetMapping
作用:以get形式提交,一般用作查询
@PostMapping
作用:以post方式提交,用于修改或者更新
@PathVariable
作用:获取url中的数据
例如:
@GetMapping(“/hello/{id}”)
public String Hello(@PathVariable(“id”) Integer id){
return “id:” + id;
}
测试:默认启动端口为8080,你不改也行,我这里演示需要就改了。
http://localhost:8081/hello/100
返回结果:id=100
@RequestParam
作用:获取请求参数的值
例如:
// 这样设置,url后必须传ID
@GetMapping(“/must”)
public String test(@RequestParam(“id”) Integer id){
return “id:” + id;
}
// 这样设置,url后非必须传ID,可以设置默认值
@GetMapping(“/normal”)
public String testNotSetId(@RequestParam(value = “id”,required = false,defaultValue = “0”)
Integer id){
return “id:” + id;
}