SpringBoot 基础

SpringBoot

1. SpringBoot 简介

SpringBoot是由Pivotal团队提供的全新框架,其设计目的是简化Spring应用的初始搭建以及开发过程,其核心特点是: 自动装配约定大于配置

其本质依然是 Spring 框架,使用 SpringBoot 之后可以不使用任何 XML 配置来启动一个服务,使得我们在使用微服务架构时可以更加快速的建立一个应用。

Spring程序的缺点:

  • 配置繁琐
  • 依赖设置繁琐

SpringBoot程序优点:

  • 自动配置
  • 起步依赖(简化依赖配置)
  • 辅助依赖

2. SpringBoot项目启动

启动类启动

SpringBoot的引导类就是项目的入口,运行main方法即可启动项目

@SpringBootApplication
public class SpringBootDemoApplication {
   

    public static void main(String[] args) {
   
        SpringApplication.run(SpringBootDemoApplication.class, args);
    }
}

Jar包快速启动

  • 对springboot项目打包(执行Maven构建指令package)

在这里插入图片描述

  • 执行启动指令
java -jar springBootDemo-0.0.1-SNAPSHOT.jar

在这里插入图片描述

  • 带参数启动
java -jar springBootMultiProfileDemo-0.0.1-SNAPSHOT.jar --server.port=929

注意事项: jar包启动指令需要依赖Maven插件支持,需要在pom文件中添加SpringBoot对应的Maven插件

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

3. 基础配置

3.1 配置格式
  • application.properties
# 应用服务 WEB 访问端口
server.port=8080
  • application.yml
# 应用服务 WEB 访问端口
server:
    port: 8081
  • application.yaml
# 应用服务 WEB 访问端口
server:
    port: 8082

当三种配置文件同时存在时,加载顺序为: properties > yml > yaml

注: 命令行参数优先级高于配置文件

YAML文件

YAML是 “YAML Ain’t a Markup Language” 的递归缩写,一种数据序列化格式

这种语言以数据作为中心,而不是以标记语言为重点!

yaml语法:

  1. 空格不可省,只要是赋值就需要空格
  2. 以缩进控制层级关系(类似python)
  3. 大小写敏感(属性和值都是如此)
  4. # 表示注释
3.2 配置文件属性注入

定义如下配置

enterprise:
    name: aaaa
    age: 20
    tel: 110
    subject:
        - 1
        - 2
        - 3

@Value注解注入

读取name属性

@Value("${enterprise.name}")
private String name;

使用 Environment获取全部配置属性

@Resource
private Environment environment;
@GetMapping("/getNameByEnvironment")
@ResponseBody
public String getNameByEnvironment() {
   
    String s1 = environment.getProperty("enterprise.name");
    System.out.println("s1 = " + s1);
    return s1;
}

@ConfigurationProperties 整体注入

当属性数量多的时候,采用@Value一个一个注入效率十分低下,这时候我们可以使用@ConfigrationProperties

@ConfigurationProperties作用:
将配置文件中配置的每一个属性的值,映射到这个组件中;
告诉SpringBoot将本类中的所有属性和配置文件中相关的配置进行绑定
参数 prefix = “enterprise” : 将配置文件中的User下面的所有属性一一对应

定义一个实体类Enterprise

@Component
@ConfigurationProperties(prefix = "enterprise")
public class Enterprise {
   
    private String name;
    private Integer age;
    private String tel;
    private String[] subject;
    // 省略getter/setter
}

使用时直接注入这个实体类就可以获取到配置属性了。

注意: @ConfigurationProperties 绑定是松散绑定的
松散绑定 : 以name为例 ,配置文件中子节点命名风格支持 烤肉串风格user-name 标准驼峰命名userName 蛇形命名user_name 全部大写USERNAME

3.3 自定义对象封装数据警告解决方案
<!-- 自定义对象封装数据警告解决方案 -->
<dependency>
    <groupId>org.spr
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值