SpringBoot基础知识

快速入门

方式一(常用): 基于Maven项目手动创建

  • 1.创建Maven项目
  • 2.继承父工程 spring-boot-starter-parent
    代码示例
      	 <!--springboot工程需要继承的父工程-->
    	<parent>
    		<groupId>org.springframework.boot</groupId>
    		<artifactId>spring-boot-starter-parent</artifactId>
    		<version>2.5.0</version>
    	</parent>
    <dependencies>
    <!--web开发的起步依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
    
  • 3.定义Controller
    示例代码
      	package com.itheima.controller;
      	
      	@RestController
      	@RequestMapping("/books")
      	public class BookController {
      	
      	    @GetMapping("/{id}")
      	    public String getById(@PathVariable Integer id) {
      	        System.out.println("id ==> " + id);
      	        return "hello , spring boot! ";
      	    }
      	
      	}
    
  • 4.编写引导类
    示例代码
       package com.itheima;
    
    /**
    - 引导类。 SpringBoot项目的入口
    */
    @SpringBootApplication
    //可以修改默认扫描包:等同于SpringMVCConfig中的@ComponentScan("com.itheima")
    //@SpringBootApplication(scanBasePackages = "com.itheima")
    public class Application {
    	public static void main(String[] args) {
    	    SpringApplication.run(Application.class, args);
    	}
    }
    
  • 优点:不需要联网下载大量东西,版本可控

方式二

  • 基于官网创建项目
    • https://start.spring.io/
  • 优点是方便,启动类测试类都创建好了,缺点是联网下载不稳定,有时快有时慢,版本无法控制

项目打包

  1. 对SpringBoot项目打包(执行Maven构建指令package)

  2. 执行启动指令

    java -jar springboot_01_quickstart.jar	# 项目的名称根据实际情况修改
    

注意事项

  • jar支持命令行启动需要依赖maven插件支持,请确认打包时是否具有SpringBoot对应的maven插件。
    • 插件坐标
        <build> 
        	<plugins>
        	  <plugin>
        	      <groupId>org.springframework.boot</groupId>
        	      <artifactId>spring-boot-maven-plugin</artifactId>
        	  </plugin>
        	</plugins>
        </build>
      

注意事项

如果缺少该坐标,会报找不到资源清单的错,生成的jar包会特别小
该Maven插件的作用是

  1. 把项目需要的jar包打包进去
  2. 设置资源启动的入口

快速启动方式

  • 环境准备:需要JDK
  • 执行指令
     java -jar springboot.jar
    

切换web服务器

pom文件中 排除 tomcat 依赖
pom 文件中 添加可选依赖 jetty

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <!--web起步依赖环境中,排除Tomcat起步依赖-->
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <!--添加Jetty起步依赖,版本由SpringBoot的starter控制-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-jetty</artifactId>
    </dependency>
</dependencies>

配置文件

修改服务端口

  • 方法一

        #添加application.properties配置文件
        service.port=80
    
  • 方法二

    • 使用application.yml文件
         - service:
     	        port:80
    

注意

  • yml, yaml相同
  • 开启输入提示操作在这里插入图片描述

yml书写格式

  • 大小写敏感
  • 属性层级关系使用多行描述,每行结尾使用冒号结束
  • 使用缩进表示层级关系,同层级左侧对齐,只允许使用空格(不允许使用Tab键)
  • 属性值前面添加空格(属性名与属性值之间使用冒号+空格作为分隔)

配置文件数据的读取

  • @Value读取
    • //使用@Value读取单一属性数据
      @Value("${lesson}")
      private String lesson;
      
  • 封装全部数据到Environment对象
    • //使用Environment封装全配置数据
      @Autowired
      private Environment environment;
      
  • 封装成自定义对象
    • //封装yaml对象格式数据必须先声明当前实体类受Spring管控
      @Component
      //使用@ConfigurationProperties注解定义当前实体类读取配置属性信息,通过prefix属性设置读取哪个数据
      @ConfigurationProperties(prefix = "enterprise")
      public class Enterprise {
      private String name;
      private Integer age;
      private String tel;
      private String[] subject;
      //自行添加getter、setter、toString()等方法
      }
      

注意

自定义对象封装数据警告解决方案

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

多环境配置

properties配置方式

  • 文件名不能修改
    • application.properties
  • 内容
    • server.port=80
  • 注意
    • 一个测试环境一个配置文件
    • 优先级别要比 yml 的高

yml配置

  • 文件名不能修改
    • application.yml
  • 内容
    • server:
      port: 81
  • 注意
    • 不同的测试环境可以写在一个文本内
    • 对空格有严格要求
    • 提示消失解决办法

命令行启动

  • 先clean
  • 字符编码改utf-8
  • 无关的配置文件找个地方放起来,避免干扰

SpringBoot读取Mean中pom中的参数

Springboot中
pom文件的Maven配置中
读取:用${变量名}获取

<build>
	<plugins>
	    <plugin>
	        <artifactId>maven-resources-plugin</artifactId>
	        <configuration>
	            <encoding>utf-8</encoding>
	            <useDefaultDelimiters>true</useDefaultDelimiters>
	        </configuration>
	    </plugin>
	</plugins>
</build>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值