SpringBoot应用入门
一、项目搭建
使用IDEA,点击create new project,然后左边的spring initializr,右边SDK1.8,URL:https://start.spring.io,next 改改名字 packing为jar,next 选个web下的web即可,这个地方要选好spring boot版本!不同版本有些代码不生效, finished,创建完成。
二、项目编写与运行
src下有个XXXXApplication.Java,再打算写个controller,结果发现写不了,报错了如下
点击 “add as Maven Project”就好了,等一会。
然后就可以建controller了,再写个方法,记得各种注释
右击那个src下XXXXApplication.Java 点Run运行
看到类似Started DemoApplication in 3.155 seconds (JVM running for 3.525)
就成功了。默认在8080端口下,不需要输项目名
另外两种启动方式,1:控制台进入到项目目录下,输入 mvn spring-boot:run
2:同上但是mvn install 编译一下,然后去target目录下输入java -jar jar包名 去运行。
三、项目属性配置
(1)resources下application.properties下改改,如:
server.port=8081
server.servlet.context-path=/girl (这是2.0.x写法,老版本只要写server.context-path就好)
(2)另一种配法,resources下创建application.yml文件,书写如下:
server:
port: 8086
context-path: /gg
同一类下可省略,省了个server,注意:后要空格!
(3)意外发现,当application.properties和application.yml都存在的情况以application.properties为准
(4)其它配置
(5)获取配置文件中的值到程序变量中
配置文件如下:
获取
@Value("${my_name}")
(6)批量获取如下配置属性(god 下的所有属性,避免用上面的方法过于冗余)
新建一个类GodProperties,打上@ConfigurationProperties(prefix = "god")注解 获取文件里的内容,再打上@Component
注解,为了之后用的时候打Autowired自动获取这个类的实例内容。
在这个类里写相应的字段,和get、set方法,如下:
这个配置的注解可能会报错,在pom.xml里加入即可:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
如此以上就可以在任何地方,通过@Autowired获取配置信息啦
(7)两套配置文件,开发环境一套,生产环境一套
创建一个开发配置文件是application-dev.yml,生产配置文件application-prod.yml,总的配置文件还是application.yml。
可在application.yml里指定使用哪一套
四、Controller的使用
(1)RequestMapping可以指定多个路径映射
(2)Spring4.3中引进了{@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping},来帮助简化常用的HTTP方法的映射,并更好地表达被注解方法的语义。
以@GetMapping为例,Spring官方文档说:
@GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。该注解将HTTP Get 映射到 特定的处理方法上。
(3)注解
(4)获取路径中包含的参数
输入http://localhost:8086/gg/hello/110
(5)获取路径中传过来的参数,www.baidu.com/hello?type=1,中的type参数
SpringBoot应用入门的更多相关文章
- SpringData 基于SpringBoot快速入门
SpringData 基于SpringBoot快速入门 本章通过学习SpringData 和SpringBoot 相关知识将面向服务架构(SOA)的单点登录系统(SSO)需要的代码实现.这样可以从实战 ...
- SpringBoot Docker入门,SpringBoot Docker安装
SpringBoot Docker入门,SpringBoot Docker安装 ================================ ©Copyright 蕃薯耀 2018年4月8日 ht ...
- 01-项目简介Springboot简介入门配置项目准备
总体课程主要分为4个阶段课程: ------------------------课程介绍------------------------ 01-项目简介Springboot简介入门配置项目准备02-M ...
- SPRING-BOOT系列之SpringBoot快速入门
今天 , 正式来介绍SpringBoot快速入门 : 可以去如类似 https://docs.spring.io/spring-boot/docs/2.1.0.BUILD-SNAPSHOT/refer ...
- SpringBoot快速入门01--环境搭建
SpringBoot快速入门--环境搭建 1.创建web工程 1.1 创建新的工程. 1.2 选择maven工程,点击下一步. 1.3 填写groupid(maven的项目名称)和artifacti ...
- SpringBoot 初入门
SpringBoot 初入门 关于介绍什么之类的就不讲了,主要做一下学习记录. 1. 启动方式 IDEA 启动 命令行启动: mvn spring-boot:run 部署到服务器启动: 先进行打包, ...
- springBoot从入门到源码分析
先分享一个springBoot搭建学习项目,和springboot多数据源项目的传送门:https://github.com/1057234721/springBoot 1. SpringBoot快速 ...
- SpringBoot基础篇-SpringBoot快速入门
SpringBoot基础 学习目标: 能够理解Spring的优缺点 能够理解SpringBoot的特点 能够理解SpringBoot的核心功能 能够搭建SpringBoot的环境 能够完成applic ...
- Springboot快速入门篇,图文并茂
Springboot快速入门篇,图文并茂 文章已托管到GitHub,大家可以去GitHub查看阅读,欢迎老板们前来Star!搜索关注微信公众号 [码出Offer] 领取各种学习资料! image-20 ...
- springboot + kafka 入门实例 入门demo
springboot + kafka 入门实例 入门demo 版本说明 springboot版本:2.3.3.RELEASE kakfa服务端版本:kafka_2.12-2.6.0.tgz zooke ...
随机推荐
- 增强学习Q-learning分析与演示(入门)
一些说明.参阅 https://github.com/MorvanZhou/Reinforcement-learning-with-tensorflow/blob/master/contents/1_ ...
- spring cloud config使用mysql存储配置文件
spring cloud config使用mysql存储配置文件 1.结构图 2.pom.xml: <?xml version="1.0" encoding="UT ...
- getMeasuredHeight()与getHeight() 以及MeasureSpec.getSize()
getMeasuredHeight()返回的是原始测量高度,与屏幕无关,getHeight()返回的是在屏幕上显示的高度.实际上在当屏幕可以包裹内容的时候,他们的值是相等的,只有当view超出屏幕后, ...
- 想研究BERT模型?先看看这篇文章吧!
最近,笔者想研究BERT模型,然而发现想弄懂BERT模型,还得先了解Transformer. 本文尽量贴合Transformer的原论文,但考虑到要易于理解,所以并非逐句翻译,而是根据笔者的个人理解进 ...
- scp建立安全信任关系
1. 在机器Client上root用户执行ssh-keygen命令,生成建立安全信任关系的证书. [root@Client root]# ssh-keygen -b 1024 -t rsa Gener ...
- 【linux】【jenkins】自动化运维二 安装插件
gitlab安装教程参考:https://www.cnblogs.com/jxd283465/p/11525629.html 1.Maven Integration Plugins Jenkins安装 ...
- rocketmq学习(二) rocketmq集群部署与图形化控制台安装
1.rocketmq图形化控制台安装 虽然rocketmq为用户提供了使用命令行管理主题.消费组以及broker配置的功能,但对于不够熟练的非运维人员来说,命令行的管理界面还是较难使用的.为此,我们可 ...
- Django+MySQL Dashboard 网页端数据库可视化
1. Overview Python+MySQL+Django, 有些数据托管在 MySQL 的数据库,然后我们希望进行可视化,通过 web 的方式对数据库的信息去进行展示/检索/维护/.. 这个项目 ...
- Roman and Browser-罗曼的浏览器 CodeForce1100A 暴力
题目链接:Roman and Browser 题目原文 This morning, Roman woke up and opened the browser with
- java.util.Optional学习笔记
java.util.Optional是Java 8新增的类,作为一个持有实例的容器类,可以帮我们把判空的代码写得更优雅,并且该类还提供了一些实用的api,官方文档在这里,接下来我们通过实战来学习吧: ...