spring boot的自定义配置

一、spring boot的自定义配置:在项目中经常会遇到在spring boot 的配置文件中配置一些自己的属性的配置(如:某个工具的安装路径)
1、引入jar包依赖

		<!--spring boot 自定义配置使用依赖包  -->
		<dependency>
		    <groupId>org.springframework.boot</groupId>
		    <artifactId>spring-boot-configuration-processor</artifactId>
		    <optional>true</optional>
		</dependency>

2、定义属性:

package com.example.demo.model;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
/**
 * 自定义配置属性
 * @author wz
 *
 */
@Component
@ConfigurationProperties(prefix="my.config")
public class LibOfficeConfig {
	/**
	 * libreOffice的安装路径
	 */
	private String home_name;

	public String getHome_name() {
		return home_name;
	}

	public void setHome_name(String home_name) {
		this.home_name = home_name;
	}
	

}

3、在spring boot配置文件中定义
在yml中
4、测试类:

	  @Autowired
	  private LibOfficeConfig libOfficeUtil;
	  /**
	   * 测试自定义配置属性
	   * @return
	   */
	  @RequestMapping("/ceshi") 
	  public Result ceshi() {
		
		  System.out.println("=="+libOfficeUtil.getHome_name());
		  return null;
	  }

5、结果:
在这里插入图片描述
二、以上方法不可以再静态方法中调用,那么怎么再静态方法中调用呢,一般封装一个工具类,会有此需要
在之前的配置类中加入一个静态属性,在其中赋值即可

package com.example.demo.model;

import javax.annotation.PostConstruct;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
/**
 * 自定义配置属性
 * @author wz
 *
 */
@Component
@ConfigurationProperties(prefix="my.config")
public class LibOfficeConfig {
	/**
	 * libreOffice的安装路径
	 */
	private String home_name;

	public String getHome_name() {
		return home_name;
	}

	public void setHome_name(String home_name) {
		this.home_name = home_name;
	}
	
	private static String home_names;
	
	   @PostConstruct
		public  void setHome_names() {
			home_names = this.home_name;
		}

	public static String getHome_names() {
		return home_names;
	}
	
 
	
	
	
	
	

}

@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次。PostConstruct在构造函数之后执行,init()方法之前执行。PreDestroy()方法在destroy()方法知性之后执行
测试:
在这里插入图片描述
结果:
在这里插入图片描述


版权声明:本文为xfy18317776108原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。