springboot初体验以及解决遇到的问题
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;
}
springboot初体验以及解决遇到的问题相关推荐
- 并发初体验,解决小规模并发下单问题
并发初体验,解决小规模并发下单问题 参考文章: (1)并发初体验,解决小规模并发下单问题 (2)https://www.cnblogs.com/Sinte-Beuve/p/7631745.html 备 ...
- 【SpringBoot】SSM“加速器”SpringBoot初体验
文章目录 前言 一.SpringBoot 二.起步依赖的引入 三.服务器切换 四.多环境开发 五.整合Junit 六.整合Mybatis 6.1定义实体类 6.2定义dao接口 6.3定义测试类 6. ...
- SpringBoot初体验
Springboot的一个HelloWorld 工具:idea.java8 一步步来~ 启动类: package com.aijiajia.springboot;import org.springfr ...
- centos安装rabbitmq_【SpringBoot MQ系列教程】RabbitMq 初体验
SpringBoot 系列教程之 RabbitMq 初体验mp.weixin.qq.com mq 在异步解耦削峰的优势非常突出,现在很多的项目都会用到,掌握 mq 的知识点,了解如何顺畅的使用 mq ...
- ChatGPT初体验step by step:ChatGPT解决人类提出的数理逻辑问题,Python编程实践
ChatGPT初体验step by step:ChatGPT解决人类提出的数理逻辑问题,Python编程实践 如果已有有效的open ai的api key,则跳过本文(1)(2)(3)(4),直接从( ...
- 【微服务】SpringBoot 搭建微服务初体验
SpringBoot 搭建微服务初体验 前言 Server端程序开发 1.创建Server项目,并添加依赖 2.引入依赖,完善配置文件 3.开发SQL语句 4.开发JavaBean 5.开发DAO接口 ...
- smart-doc初体验-springboot生成自动文档
smart-doc初体验 一.为什么要引入smart-doc? 二.对比swagger 三.使用 四.讨论 1.设计先行模式 2.代码先行 五.体验 六.附录 1.完整的配置项: 2.官方地址: 一. ...
- Java开发 - 消息队列之Kafka初体验
目录 前言 Kafka 什么是Kafka Kafka软件结构 Kafka的特点 怎么启动Kafka 下载Kafka 配置Kafka Zookeeper 启动Kafka Kafka案例 添加依赖 添加配 ...
- Java开发 - 单点登录初体验(Spring Security + JWT)
目录 前言 为什么要登录 登录的种类 Cookie-Session Cookie-Session-local storage JWT令牌 几种登陆总结 用户身份认证与授权 创建工程 添加 ...
最新文章
- MySQL 字段类型知识
- linq to sql初步
- GNS3模拟ATM的简单配置
- oracle数据库源数据路径,oracle中用什么命令查找数据文件所在路径呢?
- 回馈粉丝,送30本技术书。
- Android IPC机制(五)用Socket实现跨进程聊天程序
- recv, recvfrom, recvmsg
- 关于链表中经常用到的二级指针
- pycharm 运行odoo10出现ImportError: No module named win32service错误
- 滤波器m矩阵 awr 不一样_云南tte滤波器_灿勤科技
- property 、classmethod 、 staticmethod 的用法
- “姑娘好像花儿一样”如何英译
- AgentWeb url监听问题
- kali 克隆网页_如何克隆一个网站(by Kali)
- 【前端】静态网页和动态网页
- 【四】多智能体强化学习(MARL)近年研究概览 {Learning cooperation(协作学习)、Agents modeling agents(智能体建模)}
- MySQL自增主键auto_increment原理 与 自增主键出现间隙不连续现象的定位
- 【蓝桥杯Python-无聊的逗】解题思路和参考代码
- 一次Wi-Fi入侵实录
- C语言顺序表:1、顺序表的存储、2、顺序表的实现.
热门文章
- 如何在CentOS6.5中搭建本地yum源(Redhat6.5、CentOS7、Redhat7可参考)
- iis服务器上的文件能用浏览器打开,保存好的asp文件在IE浏览器里打不开,在IIS服务器下也打不开,怎么办?...
- IOS 初级开发入门教程(四)基础控件使用小练习
- @Transactional
- jmeter 下载安装及环境配置
- H盘显示由于IO设备错误,无法运行此项请求要如何办啊
- oracle使用tmpfs,使用tmpfs提高性能
- 2020 CCPC Wannafly Winter Camp Day7 K	修炼
- windows加载动画
- query和params传参的区别