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 欢迎前来访问
原文地址:https://www.cnblogs.com/chenyameng/p/11442762.html