一、项目搭建
使用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里加入即可:
org.springframework.boot
spring-boot-configuration-processor
true
如此以上就可以在任何地方,通过@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参数