美文网首页
IDEA SpringBoot 学习笔记 三

IDEA SpringBoot 学习笔记 三

作者: 男卅_卅 | 来源:发表于2019-04-21 16:41 被阅读0次
    • 这节咱们来对SpringBoot来一个较为深入的认识。

    一,SpringBoot启动的3种方式

    第一种:借助IDEA工具直接启动
    第二种:mvn命令启动
    1. 打开命令行,进入到项目目录中(我这里还是用上次建立的项目来操作) cd D:\软件\IDEA_2018\program\zwq
    2. mvn spring-boot:run
    第三种:使用jar文件启动
    1. 在项目目录下(即D:\软件\IDEA_2018\program\zwq)编译项目 mvn install
    2. 进入target目录下 cd D:\软件\IDEA_2018\program\zwq\target
    3. 查看当前路径下的所有文件和目录 dir ./
    4. 找到项目对应的jar文件,我这里是test-0.0.1-SNAPSHOT.jar 然后运行java命令:Java -jar test-0.0.1-SNAPSHOT.jar 就运行了(云端服务器部署也是这样的的)

    二,SpringBoot的部署文件

    1. properties还是yml

    默认帮我们生产了resources目录,我们的配置文件基本上在这个目录下完善
    目录下还默认提供了一个application.properties文件,我们可以在其中配置访问端口和路径
    
    server.port=8081
    server.servlet.context-path=/qwer
    

    这里我们修改了默认端口为8081,访问路径添加了后缀。
    此外SpringBoot还提供了另一种简便的写法,就是yml文件

    server:
      port: 8082
      servlet:
        context-path: /qwer
    

    yml的语法是一个将空格玩到极致的语法,在每一级上都要有空格,冒号后面也要有一个空格。

    2. 多环境配置

    加入两个yml文件,分别配置不同访问端口和不同的访问路径
    

    新建开发环境的配置:application-dev.yml文件啊

    server:
      port: 8083
      servlet:
        context-path: /dev
    

    新建一个生产环境的配置:appliction-pro.yml文件

    server:
      port: 8084
      servlet:
        context-path: /pro
    

    修改appliction.yml文件,指定所需要使用的环境的配置,这里我们指向开发环境

    spring:
      profiles:
        active: dev
    

    注意:这里的前缀缓成了spring,已经不再是server,访问使用http://127.0.0.1:8083/dev/qwer/asdf

    3.多环境同时启动

    这里使用上面介绍的第三种启动方式:java -jar的方式来启动
    使用启动命令时只需要加一些参数,就可以轻松指定我们要使用的配置环境
    
    • 第一步:启动前先编译mvn(因为咱们之前修改过项目了,所以不能使用之前的jar包了)
    • 第二部:java -jar test-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev
    • 第三步:新打开一个命令行窗口,进入项目的target目录下,执行java -jar命令java -jar test-0.0.1-SNAPSHOT.jar --spring.profiles.active=pro
    • 第四步:测试http://127.0.0.1:8083/dev/qwer/asdf http:127.0.0.1:8084/pro/qwer/asdf 都能访问即可

    4. 其他配置

    (1)项目中读取配置文件中的某些值,这里我就在dev环境中进行操作,在application-dev.yml文件中加入一些需要读取的值 image.png

    然后在前台拉取,这里使用@Value注解来拉取

    image.png

    启动测试

    image.png
    (2)配置文件中使用配置:yml文件中使用EL表达式
    image.png
    image.png
    image.png

    剩下的我不说大家肯定也会举一反三了!

    (3)相关属性,可以封转成对象

    第一步:在pom.xml中加入依赖

    <!--configuration的依赖-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-configuration-processor</artifactId>
                <optional>true</optional>
            </dependency>
    

    第二部:新建一个用来封装属性的方法,提供get,set,toString方法

    package com.niit.zwq.test;
    
    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;//编号
    
        @Override
        public String toString() {
            return "Developer{" +
                    "name='" + name + '\'' +
                    ", age=" + age +
                    ", id=" + 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;
        }
    }
    

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

      port: 8083
      servlet:
        context-path: /dev
    name: 翟大大
    QQ: 1430495506
    content: "name:${name},QQ:${QQ}}"
    
    
    dev:
      name: 翟大大
      age: 21
      id: 520
    

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

        @Autowired
        private Developer developer;
        @GetMapping("/developer")
        public String developer(){
            return developer.toString();
        }
    

    第五步:启动,在浏览器中测试。

    ------------------------------------------------------------------未完待续!--------------------------------------------------------------------------------

    相关文章

      网友评论

          本文标题:IDEA SpringBoot 学习笔记 三

          本文链接:https://www.haomeiwen.com/subject/shkjgqtx.html