SpringBoot(一)【入门】(2)

简介: SpringBoot(一)【入门】

SpringBoot(一)【入门】(1)https://developer.aliyun.com/article/1534226

2、基础配置

2.1、配置文件格式(3种)

2.1.1、修改服务器端口

       现在我们启动的项目端口默认就是 8080,那如果我们要修改的话,就需要进行配置。

  • applicantion.properties
server.port=80
  • 创建一个 application.yml (SpringBoot 项目中我们的配置文件都用 application.x 的格式)
server:
  port: 80

注意:port: 和 80 之间一定要有空格

  • 创建一个 application.yaml(相比较 application.yml  只是扩展名不同,内容都一样)
server:
  port: 80

Idea 设置 SpringBoot 配置文件提示功能:

我们之后写 application.yml 更多一些,如果三个文件都存在,则优先级: application.properties  >  application.yml >  application.yaml

2.1.2、yaml

  • YAML (Ain't Markup Language),一种数据序列化格式
  • 优点:
  • 容易阅读
  • 容易与脚本语言交互
  • 以数据为核心,重数据轻格式
  • YAML 扩展名
  • .yml(主流)
  • .yaml

语法规则

  • 大小写敏感
  • 属性层级关系使用多行描述,每行结尾用冒号结束
  • 使用缩进表示属性层级关系,同层级左侧对齐,只允许使用空格(不允许 Tab 键)
  • 属性值前面必须添加空格
  • # 表示注释
  • 数组数据使用 '-' 表示开始

2.1.3、yaml 数据读取方式(3种)

先在 application.yml 中添加下面的内容

student:
  name: tom
  age: 15
  subject:
    - Math
    - English
    - Chinese
(1)@Value (直接读取)
    @Value("${student}")
    private String student;
    @Value("${server.port}")
    private Integer port;
    @Value("${student.subject[0]}")
    private String subject0;
(2)Environment (封装后读取)
    @Autowired
    private Environment environment;
    
    // 用的时候直接调用
    System.out.println(environment.getProperty("server.port"));
    System.out.println(environment.getProperty("student.subject[0]"));
(3)实体类封装(常用)

       在 domain 包下创建一个 Student 对象,这个对象必须被 SpringBoot 管理,所以使用 @Component 注解来标识;而且这里需要指定配置名称,所以用 @ConfigurationProperties 来表示属性名:

@Component
@ConfigurationProperties(prefix = "student")
public class Student {
    private String name;
    private Integer age;
    private String[] subject;
 
    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", subject=" + Arrays.toString(subject) +
                '}';
    }
 
    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 String[] getSubject() {
        return subject;
    }
 
    public void setSubject(String[] subject) {
        this.subject = subject;
    }
}

用的时候直接用 student 对象的 get 方法即可。

    @Autowired
    private Student student;
 
    // 用的时候调用get方法
    System.out.println(student.getAge());

包括之后我们配置 Mybatis 也会通过这种方式来配置。

如果遇到对象封装警告,需要导入 Maven 依赖:

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

2.2、多环境开发

在不同的环境下我们往往使用的配置不同,那我们应该怎么设置?

2.2.1、yaml 文件多环境启动

通过 "---" 来区分不同的环境,通过 spring: profiles: active 来指定我们上线时使用的环境信息:

spring:
  profiles:
    active: dev
 
---
# 开发环境
spring:
  profiles: dev
server:
  port: 85
 
 
---
# 生产环境
spring:
  profiles: pro
server:
  port: 86
 
---
# 测试环境
spring:
  profiles: test
server:
  port: 87

这里的配置过时了,我们也可以换用这种格式:

spring:
  config:
    activate:
      on-profile: dev
server:
  port: 85

2.2.2、application.properties 文件多环境启动

spring.config.activate.on-profile=dev

创建 application-dev.properties:

server.port=85

创建 application-dev.properties:

server.port=85

SpringBoot(一)【入门】(3)https://developer.aliyun.com/article/1534229

相关文章
|
开发框架 安全 Java
一文搞懂JDK8与Java1.8的区别
一文搞懂JDK8与Java1.8的区别
4131 0
|
3月前
|
负载均衡 Java Nacos
Gateway服务网关
网关是微服务的统一入口,实现请求路由、权限控制与限流。基于Spring Cloud Gateway可快速搭建高性能网关,支持断言与过滤器灵活配置,并解决跨域问题,提升系统安全性和可维护性。
|
Java 网络安全 开发工具
【Azure 事件中心】Event Hub 无法连接,出现 Did not observe any item or terminal signal within 60000ms in 'flatMapMany' 的错误消息
【Azure 事件中心】Event Hub 无法连接,出现 Did not observe any item or terminal signal within 60000ms in 'flatMapMany' 的错误消息
665 1
|
机器学习/深度学习 计算机视觉
【YOLOv8改进 - 注意力机制】SENetV2: 用于通道和全局表示的聚合稠密层,结合SE模块和密集层来增强特征表示
【YOLOv8改进 - 注意力机制】SENetV2: 用于通道和全局表示的聚合稠密层,结合SE模块和密集层来增强特征表示
|
存储 缓存 监控
【jvm系列-09】垃圾回收底层原理和算法以及JProfiler的基本使用
【jvm系列-09】垃圾回收底层原理和算法以及JProfiler的基本使用
531 0
|
安全 Java 应用服务中间件
如何将Spring Boot应用程序运行到自定义端口
如何将Spring Boot应用程序运行到自定义端口
1394 0
|
Java Spring
运行@Async注解的方法的线程池
自定义@Async注解线程池
590 3
|
Java
[JarEditor]可直接修改jar包的IDEA插件
### 修改JAR包变得更简单:JarEditor插件简介 **背景:** 开发中常需修改JAR包中的class文件,传统方法耗时费力。JarEditor插件让你一键编辑JAR包内文件,无需解压。 **插件使用:** 1. **安装:** 在IDEA插件市场搜索JarEditor并安装。 2. **修改class:** 打开JAR文件中的class,直接编辑,保存后一键构建更新JAR。 3. **文件管理:** 右键菜单支持在JAR内新增/删除/重命名文件等操作。 4. **搜索:** 使用内置搜索功能快速定位JAR包内的字符串。
2254 2
[JarEditor]可直接修改jar包的IDEA插件
|
存储 网络安全 开发工具
快速认识和上手云效代码管理应用
要体验云效代码托管Codeup的本地命令行操作和SSH克隆/提交,请先安装Git并配置SSH公钥。登录Codeup后,新建代码库并设置相关信息。可从其他平台导入代码。提交代码支持网页和本地客户端两种方式。库管理员可邀请成员协作,并按需设置角色。此外,Codeup内置代码检测服务,支持自动触发扫描。功能开发完成后,可通过合并请求进行代码评审,确保编码质量。
755 1
springCloud之配置中心Config
springCloud之配置中心Config
181 0