SpringBoot(二)_项目属性配置

简介: 修改端口在main/resources/application.properties修改端口server.port=8088此时启动访问localhost:8088/hello 就会看到Hello Spring Boot!使用yml文件替换properties 文件(1)在main/resources 文件下新建一个application.

修改端口

在main/resources/application.properties修改端口

server.port=8088

此时启动访问localhost:8088/hello 就会看到

Hello Spring Boot!

使用yml文件替换properties 文件

(1)在main/resources 文件下新建一个application.yml 文件

(2)在yml文件中修改端口

server:
  port: 8099

(3) 删除掉application.properties文件,只保留yml文件

(4) 运行程序,此时访问8099端口即可

获取配置文件的值

(1) 在application.yml 文件中,编写上其他内容

server:
  port: 8099
name: maomao
age: 18

(2) 利用@Value 注解

@RestController
public class HelloController {

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

    @Value("${age}")
    private int age;
    @RequestMapping(value = {"/hello"},method = RequestMethod.GET)
    public String say(){
        return name+age;
    }
}

(3)访问8099端口,就获取到值

maomao 18

使用自定义配置类

如果属性很多,我们每个属性都需要写,显得有些费事,我们可以利用自定义配置类进行获取

(1) 修改yml 文件

server:
  port: 8099
girl:
  name: maomao
  age: 18

(2) 创建properties/GirlProperties.java

@Component
@ConfigurationProperties(prefix = "girl")
public class GirlProperties {

    private  String name;

    private int age;

    //get和set方法省略
}

(3) 我在使用@ConfigurationProperties 这个注解时,提示找不到class,需在pom文件中引入

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

(4) 修改controller文件

@RestController
public class HelloController {

    @Resource
    private  GirlProperties girlProperties;
    @RequestMapping(value = {"/hello"},method = RequestMethod.GET)
    public String say(){
        return girlProperties.getName();
    }
}

(5)验证结果

maomao

开发环境和生成环境配置不同的问题

这个问题经常见,比如我们开发环境 name 是maomao ,生成环境是 毛毛,我们大部分都是修改配置文件,但是这样还是很麻烦。

(1) 复制2个yml文件,分别是application-dev.yml (开发环境) application-prod.yml(生产环境)

(2) 修改application-prod.yml(生产环境)文件

server:
  port: 8088
girl:
  name: 毛毛
  age: 18

(3) application-dev.yml (开发环境)文件内容

server:
  port: 8099
girl:
  name: maomao
  age: 18

(4)application.yml文件内容,这个就代表使用dev的配置文件

spring:
  profiles:
    active: dev

(5)上篇文章讲过java -jar 的启动方式

  • 先执行 mvn install
  • 在执行启动 java -jar girl-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod

(6)此时就是访问的prod 的配置8088,(注意我们配置的application.yml 中用的是dev 这个配置文件,但是我们启动的时候加上后面的参数就自动切换到 prod 文件上)

总结

在使用yml进行配置更加简单方便,使用java -jar 启动 加上参数,就可以避免我们来回修改配置文件,有漏掉的情况。

源码下载:github

学习不是要么0分,要么100分的。80分是收获;60分是收获;20分也是收获。有收获最重要。但是因为着眼于自己的不完美,最终放弃了,那就是彻底的0分了。
相关文章
|
4月前
|
JSON 分布式计算 大数据
springboot项目集成大数据第三方dolphinscheduler调度器
springboot项目集成大数据第三方dolphinscheduler调度器
263 3
|
4月前
|
Java 关系型数据库 数据库连接
Spring Boot项目集成MyBatis Plus操作PostgreSQL全解析
集成 Spring Boot、PostgreSQL 和 MyBatis Plus 的步骤与 MyBatis 类似,只不过在 MyBatis Plus 中提供了更多的便利功能,如自动生成 SQL、分页查询、Wrapper 查询等。
391 3
|
4月前
|
Java 关系型数据库 MySQL
springboot项目集成dolphinscheduler调度器 实现datax数据同步任务
springboot项目集成dolphinscheduler调度器 实现datax数据同步任务
556 2
|
4月前
|
分布式计算 Java 大数据
springboot项目集成dolphinscheduler调度器 可拖拽spark任务管理
springboot项目集成dolphinscheduler调度器 可拖拽spark任务管理
285 2
|
4月前
|
Java 测试技术 Spring
简单学Spring Boot | 博客项目的测试
本内容介绍了基于Spring Boot的博客项目测试实践,重点在于通过测试驱动开发(TDD)优化服务层代码,提升代码质量和功能可靠性。案例详细展示了如何为PostService类编写测试用例、运行测试并根据反馈优化功能代码,包括两次优化过程。通过TDD流程,确保每项功能经过严格验证,增强代码可维护性与系统稳定性。
227 0
|
4月前
|
存储 Java 数据库连接
简单学Spring Boot | 博客项目的三层架构重构
本案例通过采用三层架构(数据访问层、业务逻辑层、表现层)重构项目,解决了集中式开发导致的代码臃肿问题。各层职责清晰,结合依赖注入实现解耦,提升了系统的可维护性、可测试性和可扩展性,为后续接入真实数据库奠定基础。
399 0
|
分布式计算 大数据 Java
springboot项目集成大数据第三方dolphinscheduler调度器 执行/停止任务
springboot项目集成大数据第三方dolphinscheduler调度器 执行/停止任务
86 0
|
分布式计算 Java 大数据
springboot项目集成dolphinscheduler调度器 项目管理
springboot项目集成dolphinscheduler调度器 项目管理
121 0
|
5月前
|
网络协议 Java
在SpringBoot项目中使用Netty实现远程调用
本文介绍了使用Netty解决网络连接性能问题的方法,重点讲解了Netty的NIO特性及其在SpringBoot中的应用。Netty作为高效的NIO框架,支持非阻塞IO,能通过单线程管理多个客户端连接,简化TCP/UDP套接字服务器开发。文章详细展示了Netty在SpringBoot中实现远程调用的过程,包括服务端与客户端代码实现、依赖配置及测试验证。通过示例代码,如`NettyServer`、`NettyClientUtil`等,清晰说明了Netty的工作原理和实际应用,解决了半包等问题,并提供了完整的测试结果。
656 3
|
7月前
|
SQL 前端开发 Java
深入理解 Spring Boot 项目中的分页与排序功能
本文深入讲解了在Spring Boot项目中实现分页与排序功能的完整流程。通过实际案例,从Service层接口设计到Mapper层SQL动态生成,再到Controller层参数传递及前端页面交互,逐一剖析每个环节的核心逻辑与实现细节。重点包括分页计算、排序参数校验、动态SQL处理以及前后端联动,确保数据展示高效且安全。适合希望掌握分页排序实现原理的开发者参考学习。
472 4

热门文章

最新文章