1、SpringBoot启动的3种方式html
第一种:借助IDE工具直接启动 run as前端
第二种:mvn命令启动java
1:打开命令行,进入到项目目录中(我这里仍是用上次创建的dog项目来操做)cd E:\Workspaces\Idea\dog spring
2:mvn spring-boot:run浏览器
第三种:使用jar文件启动app
1:在项目目录下(即E:\Workspaces\Idea\dog)编译项目ide
mvn installspring-boot
2:进入target目录下工具
cd target/测试
3:查看当前路径下的全部文件和目录
dir ./
4:找到项目对应的jar文件,我这里是 dog-0.0.1-SNAPSHOT.jar
而后运行java命令:
java -jar java -jar dog-0.0.1-SNAPSHOT.jar
2、SpringBoot的配置文件
一、properties仍是yml
默认帮咱们生成了resources目录,咱们的配置文件基本上在这个目录下完善
目录下还默认提供了一个application.properties文件,咱们能够在其中配置访问端口和路径
server.port=8081
server.servlet.context-path=/dog
这里修改了默认端口为8081,而且修改了访问路径。因此咱们不能再使用原来的 http://127.0.0.1:8080/hello
来打招呼了,须要使用新的访问地址 http://127.0.0.1:8081/dog/hello
在SpringBoot种还提供了另一种简便的写法,就是yml文件
server:
port: 8082
servlet:
context-path: /dog
注意冒号后面须要有一个空格,来和配置的内容隔开
二、多环境配置
加入2个yml文件,分别配置不一样的访问端口,和不一样的访问路径
新建开发环境的配置:application-dev.yml文件
server:
port: 8083
servlet:
context-path: /dev
新建生产环境的配置:application-pro.yml文件
server:
port: 8084
servlet:
context-path: /pro
修改application.yml文件 指定所要使用的环境的配置,这里咱们指向开发环境
spring:
profiles:
active: dev
注意:这里的前缀换成了spring,已经再也不是server,访问使用 http://127.0.0.1:8083/dev/hello
三、多环境同时启动
这里使用上面介绍的第三种启动方式 :java -jar的方式来启动
使用启动命令时只须要加一些参数,就能够轻松指定咱们要使用的配置环境
第一步:启动前先编译 mvn (由于咱们改动过项目了,不能再使用原来的jar文件启动)
第二步:java -jar dog-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev
第三步:新打开一个命令行窗口,进入项目的target目录下,执行java -jar命令
java -jar dog-0.0.1-SNAPSHOT.jar --spring.profiles.active=pro
第四步:测试 http://127.0.0.1:8083/dev/hello http://127.0.0.1:8084/pro/hello都能访问即成功
四、其余配置
a.项目中读取配置中的某些无关的值
这里咱们在dev环境中进行操做,在application-dev.yml文件中加入一些须要读取的值
而后在前台拉取,这里使用@Value注解来拉取
前端成功展现
b.配置中使用配置
yml文件中使用EL表达式
controller中仍是使用@Value拉取
c.相关的属性,能够封转成对象
第一步:在pom.xml中加入依赖
<!--configuration的依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency>
第二步:新建一个用来封装属性的方法,提供getter、setter方法,而且重写toString()方法
package com.zmfx.hello; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; @Component //因为后面自动装配@Autowired时能扫描到此类 @ConfigurationProperties(prefix = "dev")//指明了配置文件中前缀为 dev封装成对象 public class Developer { private String name;//姓名 private Integer age;//年龄 private Integer id;//编号 public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } @Override public String toString() { return "Developer{" + "name='" + name + '\'' + ", age=" + age + ", id=" + id + '}'; } }
第三步:在yml文件中添加属性,我这里仍是在开发环境application-dev.yml中添加
server:
port: 8083
servlet:
context-path: /dev
pageSize: 20
devName: 紫陌飞雪
content: "pageSize:${pageSize},devName:${devName}"
dev:
name: 紫陌飞雪
age: 26
id: 365
第四步:编写controller中的控制代码、新加属性和方法
//属性封装到对象中提取 @Autowired private Developer developer; @RequestMapping(value = "/developer",method = RequestMethod.GET) public String showDeveloper(){ return developer.toString(); }
第五步:在浏览器中输入 http://127.0.0.1:8083/dev/developer 进行测试
3、SpringBoot模板(template)的使用
首先来介绍一下@RestController
它至关于 @Controller+@ResponseBody的简写。
@ResponseBody的做用时把返回值回显到页面,默认解析成Json格式。不会走视图解析器
若是把@RestController换成@Controller,页面会报500,提示你检查视图解析器。
SpringBoot官方为咱们提供了页面显示的模板 thymeleaf
第一步:加入pom.xml的依赖
<!--模板的依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
第二步:在templates下编写一个 index.html页面
<h1>Hello SpringBoot!</h1>
第三步:编写controller层的代码
//templates的展现 @RequestMapping(value = {"/t","/temp","/template"} ,method = RequestMethod.GET) public String showIndexHtml(){ return "index"; }
第四步:访问 http://127.0.0.1:8083/dev/t
http://127.0.0.1:8083/dev/temp
http://127.0.0.1:8083/dev/template
咱们发现它的映射规则和在SpringMVC没什么太大区别,只是不用本身去配置视图解析器了