現在你建一個類:
import org.springframework.boot.context.properties.ConfigurationProperties; /** * Created by ming on 2016/10/24. * locations={} 可以引入其余的屬性文件 */ @ConfigurationProperties(prefix = "constant",locations={classpath:Constant.properties}) public class Constant { private String name; private String sex; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } }
然后在你的配置屬性文件加上:
#your constant
constant.name=ming
constant.sex=男
然后在spring啟動類上加上配置,目的是為了注入:
import javax.servlet.Filter; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.web.MultipartAutoConfiguration; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.context.embedded.FilterRegistrationBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.context.web.SpringBootServletInitializer; import org.springframework.context.annotation.Bean; import org.springframework.transaction.annotation.EnableTransactionManagement; import org.springframework.web.filter.CharacterEncodingFilter; import org.springframework.web.filter.HttpPutFormContentFilter; import org.springframework.web.multipart.commons.CommonsMultipartResolver; import com.foreveross.web.weixin.Constant; //exclude表示自動配置時不包括Multipart配置 @EnableAutoConfiguration(exclude = {MultipartAutoConfiguration.class}) @SpringBootApplication @EnableTransactionManagement @EnableConfigurationProperties(Constant.class) public class Application extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(Application.class); } @Bean public FilterRegistrationBean filterRegistrationBean() { FilterRegistrationBean registrationBean = new FilterRegistrationBean(); CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter(); characterEncodingFilter.setEncoding("UTF-8"); registrationBean.setFilter(characterEncodingFilter); return registrationBean; } @Bean public Filter initializeHttpPutHandler() { return new HttpPutFormContentFilter(); } @Bean public CharacterEncodingFilter initializeCharacterEncodingFilter() { CharacterEncodingFilter filter = new CharacterEncodingFilter(); filter.setEncoding("UTF-8"); filter.setForceEncoding(true); return filter; } @Bean(name = "multipartResolver") public CommonsMultipartResolver multipartResolver() { CommonsMultipartResolver resolver = new CommonsMultipartResolver(); resolver.setDefaultEncoding("UTF-8"); resolver.setResolveLazily(true);// resolveLazily屬性啟用是為了推遲文件解析 resolver.setMaxInMemorySize(40960); resolver.setMaxUploadSize(2 * 1024 * 1024);// 上傳文件大小 2M 50*1024*1024 return resolver; } public static void main(String[] args) throws Exception { SpringApplication.run(Application.class, args); } }
最后使用如下:
@Autowired private Constant constant; @RequestMapping(value = "/test") public void test() { System.out.println(constant.getName() + constant.getSex()); }
然后常量就能訪問了。這個常量好處就是你可以根據不同的屬性文件配置,在生產或者開發文件配置不同的變量值了。。。
so day day up...