微服务之springboot 自定义配置(一)Application.properties文件

配置的文件的格式

springboot可以识别两种格式的配置文件,分别是yml和properties 文件。我们可以将application.properties文件换成application.yml,这两个文件都可以被SpringBoot自动识别并加载,但是如果是自定义的配置文件,就最好还是使用properties格式的文件,因为SpringBoot中暂时还并未提供手动加载yml格式文件的功能(这里指注解方式)。

yml 配置文件 属性格式:配置的属性和属性值要有空格隔开。没有空格报:java.lang.IllegalArgumentException: Could not resolve placeholder ‘my.name‘ in value "${my.name}"

server :
  port : 8888
my :
  name : forezp
  age : 12

propreties文件  格式要求:

server.port=8888
my.name=forezp
my.age=12

application.properties配置文件欲被SpringBoot自动加载,需要放置到指定的位置:src/main/resource目录下,一般自定义的配置文件也位于此目录之下。

application.properties配置文件是在SpringBoot项目启动的时候被自动加载的,其内部的相关设置会自动覆盖SpringBoot默认的对应设置项,所以的配置项均会保存到Spring容器之中。

公共配置文件自定义属性

1 server.port=8888
2 my.name= forezp
3 my.age=12

@RestController 访问属性类

package com.forezp.appConfig;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class MiyaController {
    @Value("${my.name}")
    private String name;
    @Value("${my.age}")
    private int age;

    @RequestMapping("/hah")
    public String hah(){
        return name+" :   "+age;
    }
}

运行springboot项目 ,运行成功 浏览器输入网址:http://localhost:8888/hah

springboot 启动类设置扫描包文件这里只是提下

直接报404错误,最后检查了springboot 启动类

package com.forezp.helloworld;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RestController

public class HelloWorldApplication {

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

    }
    @GetMapping("/hi")
    public String  hi (){
        return "hi  I‘am forezp";
    }
}

最后才弄清楚:启动类和对应的RestController类不在同一包下  。需要在启动类上方添加@ComponentScan注解扫描com.forezp.appConfig 包下的文件

Spring Boot只会扫描启动类当前包和以下的包 ,就是说现在我启动类的包是在com.forezp.helloworld下面,然后他就只会扫描com.forezp.helloworld或者com.forezp.helloworld.*下面所以的包,所以我的Controller在com.forezp.appConfig包下面Spring Boot就没有扫描到。

把controller类放到com.forezp.helloworld下面就好了

原文地址:https://www.cnblogs.com/shaoxiaohuan/p/10463546.html

时间: 2024-10-09 04:42:55

微服务之springboot 自定义配置(一)Application.properties文件的相关文章

微服务架构:动态配置中心搭建

版权声明:本文为博主原创文章,转载请注明出处,欢迎交流学习! 在微服务架构中,服务之间有着错综复杂的依赖关系,每个服务都有自己的依赖配置,在运行期间很多配置会根据访问流量等因素进行调整,传统的配置信息处理方式是将配置信息写入xml..properties等配置文件中,和应用一起打包,每次修改配置信息,都需要重新进行打包,效率极低,动态配置中心就是为了解决这一问题.动态配置中心也是一个微服务,我们把微服务中需要动态配置的配置文件存放在远程git私有仓库上,微服务会去服务器读取配置信息,当我们在本地

微服务架构之「 配置中心 」

在微服务架构的系列文章中,前面已经通过文章<微服务架构之「服务网关 」>介绍过了在微服务中服务网关的原理和应用,今天这篇文章我们继续来聊一聊微服务中另外一个重要模块:「 配置中心 」.后面还会继续介绍 服务框架.服务监控.服务治理等.还是那句话,只有将这些基础设施弄清楚了,微服务实践的道路才能走的稳.走的远. 「配置中心」,顾名思义,就是用来统一管理项目中所有配置的系统.虽然听起来很简单,但也不要小瞧了这个模块.如果一个中型互联网项目,不采用配置中心的模式,一大堆的各类配置项,各种不定时的修改

Spring系列之——springboot解析resources.application.properties文件

摘要:本文通过讲解如何解析application.properties属性,介绍了几个注解的运用@Value @ConfigurationProperties @EnableConfigurationProperties @Autowired @ConditionalOnProperty 1 准备 1.1 搭建springboot 1.2 写一个controller类 package com.gbm.controller; import org.springframework.stereotyp

SpringBoot读取application.properties文件

SpringBoot读取application.properties文件,通常有3种方式 1. @Value  例如: @Value("${spring.profiles.active}") private String profileActive;------相当于把properties文件中的spring.profiles.active注入到变量profileActive中 2. @ConfigurationProperties  例如: @Component@Configurat

spring boot application.properties文件外部配置

spring boot application.properties文件外部配置 官方文档 原文地址:https://www.cnblogs.com/lwmp/p/9836791.html

SpringBoot:四种读取properties文件的方式

前言 在项目开发中经常会用到配置文件,配置文件的存在解决了很大一份重复的工作.今天就分享四种在Springboot中获取配置文件的方式. 注:前三种测试配置文件为springboot默认的application.properties文件 [html] view plain copy #######################方式一######################### com.battle.type3=Springboot - @ConfigurationProperties c

application.properties 文件和 application.yml 文件有什么区别呢?

application.properties  文件和 application.yml 文件有什么区别呢? yml文件的好处,天然的树状结构,一目了然,实质上跟properties是差不多的. 官方给的很多demo,都是用yml文件配置的. 注意点: 1,原有的key,例如spring.jpa.properties.hibernate.dialect,按“.”分割,都变成树状的配置 2,key后面的冒号,后面一定要跟一个空格 3,把原有的application.properties删掉.然后一定

fmt 国际化格式标签库(读取application.properties文件)

国际化格式标签库包括国际化,消息和数字日期格式化: (1) 国际化:<fmt:setLocale> <fmt::requestEncoding> 如: <%@ page language="java" contentType="text/html; charset=gb2312" import="java.util.*"%> <%@ taglib prefix="c" uri=&quo

SpringMVC配置多个properties文件之通配符

在springmvc中配置加载properties文件一般会在xml文件中配置如下: <context:property-placeholder location="classpath:resources/properties/zza.properties" ignore-unresolvable="true" /> 如果希望在项目中添加了一个新的模块,并且希望新的模块和之前项目相对独立,需要新添加一个properties文件的话,那么需要在xml配置文