SpringBoot入门学习(IDEA篇) 第二节

 

 

 

一、SpringBoot启动的3种方式

  第一种:借助IDE工具直接启动  run as

  第二种:mvn命令启动

    1:打开命令行,进入到项目目录中(我这里还是用上次建立的dog项目来操作)cd D:\workspace\boot  

    2:mvn spring-boot:run

  第三种:使用jar文件启动

    1:在项目目录下(即D:\workspace\boot)编译项目

      mvn install

    2:进入target目录下

      cd target/

    3:查看当前路径下的所有文件和目录

      dir ./

    4:找到项目对应的jar文件,我这里是 boot-0.0.1-SNAPSHOT.jar

      然后运行java命令:

      java -jar java -jar boot-0.0.1-SNAPSHOT.jar

二、SpringBoot的配置文件

  1、properties还是yml

  默认帮我们生成了resources目录,我们的配置文件基本上在这个目录下完善

  目录下还默认提供了一个application.properties文件,我们可以在其中配置访问端口和路径

server.port=8081
server.servlet.context-path=/boot

  

       这里修改了默认端口为8081,并且修改了访问路径。所以我们不能再使用原来的 http://127.0.0.1:8080/hello

  需要使用新的访问地址  http://127.0.0.1:8081/hello

  在SpringBoot种还提供了另外一种简便的写法,就是yml文件

server:
  port: 8081
  servlet:
    context-path: /boot

  注意冒号后面需要有一个空格,来和配置的内容隔开

2、多环境配置

  加入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

3、多环境同时启动

    这里使用上面介绍的第三种启动方式 :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都能访问即成功

4、其他配置

    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()方法

    第三步:在yml文件中添加属性,我这里还是在开发环境application-dev.yml中添加

    第四步:编写controller中的控制代码、新加属性和方法

//属性封装到对象中提取
    @Autowired
    private Developer developer;
    @RequestMapping(value = "developer",method = RequestMethod.GET)
    public String showDeveloper(){
        return developer.toString();
    }

    第五步:在浏览器中进行测试

三、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页面

第三步:编写controller层的代码

/**
* Created by Administrator on 2018/12/21 0021.
*/
@Controller
public class IndexController {

//templates的展示
@RequestMapping(value = "/t",method = RequestMethod.GET)
public String showIndexHtml(){
return "index";
}
}

  

第四步:访问 http://localhost:8083/dev/t 

       http://localhost:8083/dev/temp

       http://localhost:8083/dev/template

注意:这里controller一定要用@Controller注解,而不能是@RestController,要不然会直接返回字段值。

 

我们发现它的映射规则和在SpringMVC没什么太大区别,只是不用自己去配置视图解析器了

posted @ 2018-12-21 13:58  lendar  阅读(105)  评论(0编辑  收藏  举报