一、项目搭建

使用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参数

最新文章

  1. mac优秀软件介绍
  2. Bootstrap css背景图片的设置
  3. (转)javascript匿名函数的写法、传参和递归
  4. Windows上成功编译CoreCLR源代码
  5. 数据库事物四大特性-ACID
  6. hdu3589 Jacobi symbol(二次剩余 数论题)
  7. poj 1907 Work Reduction_贪心
  8. iOS网络编程笔记——Socket底层实现笔记
  9. Java中的基本类型转换,数据溢出原理
  10. QMainWindow class
  11. html iframe高度自适应
  12. java新知识系列 二
  13. Android 开发第一项目——计算器的开发记录
  14. 预览github代码
  15. Python学习之旅(二十)
  16. ALGO-149_蓝桥杯_算法训练_5-2求指数
  17. 实现一个div,左边固定div宽度200px,右边div自适应
  18. mysql5.7 安装版 表不能输入汉字解决方案
  19. 实用的 Node.js 教程,工具和资源
  20. SQLiteOpenHelper 操作不成功

热门文章

  1. Android集成JPush极光推送
  2. JavaScript 基础入门
  3. Linux服务器CPU性能模式
  4. 会用python把linux命令写一遍的人,进大厂有多容易?
  5. LINUX下搭建简单临时的WWW服务器
  6. 给Xshell增加快速命令集
  7. [DE] How to learn Big Data
  8. 运用 CSS in JS 实现模块化
  9. Django模板语言, 过滤器整理
  10. Flask关于request一些方法和属性的整理(持续更新)