• spring Boot笔记


    spring Boot笔记啊


    springboot入口类:

    	1. 入口类命名通常以*Application结尾,前缀使用项目的名称进行命名
    	2. 在入口类上添加@SpringBootApplication注解:注明当前类为入口
    	3. 在main方法中使用SpringApplication.run() 方法启动应用
    

    springboot的启动流程:

    springboot中的常用配置


    在application.properties进行修改端口号

    常用配置项:

    #配置端口号
    server.port=80
    #设置应用上下文来区分不同的访问路径
    server.servlet.context-path=/myspringboot
    #将日志写入到文件当中去
    logging.file=E:/myspringboot.log
    
    #只打印错误信息,修改级别debug->info->warn->error->fatal以此提高,默认是info
    logging.level.root=info
    debug=true
    #设置数据源
    spring.datasource.xa.data-source-class-name=com.mysql.jdbc.Driver
    spring.datasource.url=jdbc:mysql://localhost:3306/test
    spring.datasource.username=root
    spring.datasource.password=root
    

    修改级别之后不是info后可以看到没有info信息

    springboot中支持两种配置文件

    * 属性文件:application.properties
    * YAML格式:application.yml
    	* 简介:json格式
    	* 格式:key:(空格)value
    	* 使用空格代表层级关系,以“:”结束
    	
    	#开启debug
    	debug: true
    	# logging.level.root
    	# loggin.file
    	logging:
    	  level:
    	    root: info
    	  file: E:/myspringboot.log
    	spring:
    	  datasource:
    	    driver-class-name: com.mysql.jdbc.Driver
    	    url: jdbc:mysql://localhost:3306/test
    	    data-username: root
    	    data-password: root
    

    springboot自定义配置项

    通常放在yml文件中

    1. 在yml文件中书写属性

       #自定义属性
       mall:
         config:
           name: 爱美商城
           description: 这是一家化妆品特卖网站
           hot-sales: 20
           show-advert: true
      
    2. 在控制器中进行书写信息

       	package com.imooc.myspringboota.controller;
       
       import org.springframework.beans.factory.annotation.Value;
       import org.springframework.stereotype.Controller;
       import org.springframework.web.bind.annotation.RequestMapping;
       import org.springframework.web.bind.annotation.ResponseBody;
       
       /**
        * Created by Intellij IDEA.
        * User:  陈亚萌
        * Date:  2019/9/1
        */
       @Controller
       public class MyController {
           //value注解是在启动时,自动扫描yml文件,将key值注入进来
           @Value("${mall.config.name}")
           private String name;
           @Value("${mall.config.description}")
           private String description;
           @Value("${mall.config.hot-sales}")
           private Integer hosSales;
           @Value("${mall.config.show-advert}")
           private Boolean showAdvert;
       
           @RequestMapping("/out")
           @ResponseBody
           public String out(){
               return "success";
           }
           @RequestMapping("/info")
           @ResponseBody
           public String info(){
               return String.format("name:%s,description:%s,hot-sales:%s,show-advert:%s",
                       name,description,hosSales,showAdvert
                       );
       
           }
       }
      

    环境配置文件

    • springboot可针对不同的环境提供不同的profile文件
    • profile的默认命名格式为:application-{env}.yml
    • 使用spring.profiles.active选项来指定不同的profile。
      • 解决的问题:

        • 解决线上线下的配置问题,在多个环境下开发,就有可能需要多个配置文件。
      • 步骤:

        • 首先你得有个总的配置文件,比如application.yml——表示总配置文件,在这个文件里面可以指定当前的配置文件是哪个文件

        • 分别书写两个配置文件,分别是application-dev.yml和application-prd.yml,里面的配置如下:

          • 在dev中:

              #开启debug
              debug: true
              # logging.level.root
              # loggin.file
              logging:
               level:
                root: info
               file: E:/myspringboot.log
              
              
              spring:
               datasource:
                 driver-class-name: com.mysql.jdbc.Driver
                 url: jdbc:mysql://localhost:3306/test
                 data-username: root
                 data-password: root
              
              #自定义属性
              mall:
               config:
                 name: 爱美商城
                 description: 这是一家化妆品特卖网站
                 hot-sales: 20
                 show-advert: true
            
          • 在prd.yml文件中:

              	#开启debug
              	debug: false
              	# logging.level.root
              	# loggin.file
              	logging:
              	  level:
              	    root: info
              	  file: /local/user/app-prd.log
              	
              	
              	spring:
              	  datasource:
              	    driver-class-name: com.mysql.jdbc.Driver
              	    url: jdbc:mysql://114.123.11.1:3307/test
              	    data-username: root
              	    data-password: root
              	
              	#自定义属性
              	mall:
              	  config:
              	    name: 优美商城
              	    description: 这是一家化妆品特卖网站
              	    hot-sales: 20
              	    show-advert: true
              	server:
              	  port: 80
            
        • 在主配置文件中:

             #主配置文件
            #下面有俩配置文件,一个是application-dev.yml,apolication-prd.yml
            #当前环境为dev
            spring:
              profiles:
                active: prd
            
            
            #开启debug
            #debug: true
            # logging.level.root
            # loggin.file
            #logging:
            #level:
            #  root: info
            #file: E:/myspringboot.log
            #spring:
            # datasource:
            #   driver-class-name: com.mysql.jdbc.Driver
            #   url: jdbc:mysql://localhost:3306/test
            #   data-username: root
            #   data-password: root
            
            #自定义属性
            #mall:
            # config:
            #   name: 爱美商城
            #   description: 这是一家化妆品特卖网站
            ##   hot-sales: 20
            #  show-advert: true
          

          其中active是指的不同配置文件的环境。

        测试结果:

    当文件是prd的时候:

    当文件是dev的时候:

    打包与运行

    1. 利用maven的package命令,生成可独立运行的jar包
    2. 利用java -jar xxx.jar命令启动springboot应用
    3. jar包可自动加载同目录的application配置文件
    
    • 步骤
      • 点击edit configuration->添加->选择maven->


        打包成功


    成功部署

    如果想切换开发环境:
    将所有的配置文件复制到同jar包一起的文件夹下:

    博客网站 https://yamon.top 个人网站 https://yamon.top/resume GitHub网站 https://github.com/yamonc 欢迎前来访问
  • 相关阅读:
    UTF-8 的理解
    P4779 【模板】单源最短路径(标准版)
    Proj THUDBFuzz Paper Reading: FuzzFactory: Domain-Specific Fuzzing with Waypoints
    记一次ctf文件上传
    使用vue创建项目的详细步骤
    Vue进行事件处理的方法(指南
    规则引擎-可视化平台-构思1
    常用正则校验
    tomcat无法启动socket bind failed 的解决方法
    mysql修改root密码
  • 原文地址:https://www.cnblogs.com/chenyameng/p/11442762.html
Copyright © 2020-2023  润新知