首页>代码>Spring Boot演示@ConfigurationProperties标注实现自定义配置属性的实例>/configuration-properties/src/main/java/com/memorynotfound/springboot/ApplicationProperties.java
package com.memorynotfound.springboot;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.validation.annotation.Validated;
import javax.validation.Valid;
import javax.validation.constraints.Max;
import javax.validation.constraints.NotNull;
import java.util.Arrays;
import java.util.List;
@Validated
@Configuration
@ConfigurationProperties("app")
public class ApplicationProperties {
@Valid
@NotNull
private Cache cache;
@Valid
@NotNull
private Cors cors;
@Valid
@NotNull
private Site site;
public static class Cache {
@Max(1000)
private Integer ttl;
@Max(3600)
private Long maxEntries;
public Integer getTtl() {
return ttl;
}
public void setTtl(Integer ttl) {
this.ttl = ttl;
}
public Long getMaxEntries() {
return maxEntries;
}
public void setMaxEntries(Long maxEntries) {
this.maxEntries = maxEntries;
}
@Override
public String toString() {
return "Cache{" +
"ttl=" + ttl +
", maxEntries=" + maxEntries +
'}';
}
}
public static class Cors {
private List<String> allowedOrigins;
private String[] allowedMethods;
private List<String> allowedHeaders;
private Boolean allowCredentials;
private Integer maxAge;
public List<String> getAllowedOrigins() {
return allowedOrigins;
}
public void setAllowedOrigins(List<String> allowedOrigins) {
this.allowedOrigins = allowedOrigins;
}
public String[] getAllowedMethods() {
return allowedMethods;
}
public void setAllowedMethods(String[] allowedMethods) {
this.allowedMethods = allowedMethods;
}
public List<String> getAllowedHeaders() {
return allowedHeaders;
}
public void setAllowedHeaders(List<String> allowedHeaders) {
this.allowedHeaders = allowedHeaders;
}
public Boolean getAllowCredentials() {
return allowCredentials;
}
public void setAllowCredentials(Boolean allowCredentials) {
this.allowCredentials = allowCredentials;
}
public Integer getMaxAge() {
return maxAge;
}
public void setMaxAge(Integer maxAge) {
this.maxAge = maxAge;
}
@Override
public String toString() {
return "Cors{" +
"allowedOrigins=" + allowedOrigins +
", allowedMethods=" + Arrays.toString(allowedMethods) +
", allowedHeaders=" + allowedHeaders +
", allowCredentials=" + allowCredentials +
", maxAge=" + maxAge +
'}';
}
}
public static class Site {
@NotNull
private String name;
@NotNull
private String domain;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDomain() {
return domain;
}
public void setDomain(String domain) {
this.domain = domain;
}
@Override
public String toString() {
return "Site{name=" + name + ",domain:" + domain + "}";
}
}
public Cache getCache() {
return cache;
}
public void setCache(Cache cache) {
this.cache = cache;
}
public Cors getCors() {
return cors;
}
public void setCors(Cors cors) {
this.cors = cors;
}
public Site getSite() {
return site;
}
public void setSite(Site site) {
this.site = site;
}
@Override
public String toString() {
return "ApplicationProperties{" +
"cache=" + cache +
", cors=" + cors +
",site:" + site + "}";
}
}
最近下载更多
1358849392 LV21
9月16日
最代码官方 LV168
2020年12月20日

最近浏览