在应用程序中有不少配置项,例如数据库链接地址、日志文件位置、应用服务器配置等等。为了安全与灵活性,咱们推荐将Spring Boot的配置文件放在生产环境的服务器上,并严格控制访问权限。在运行应用时能够经过命令行参数指定配置文件:html
java -jar location_of_your_jar_file.jar --spring.config.location=location_of_your_config_file.properties
这样作的好处是:java
在某些状况下,应用的某些业务逻辑可能须要有不一样的实现。例如邮件服务,假设EmailService
中包含的send(String email)
方法向指定地址发送电子邮件,可是咱们仅仅但愿在生产环境中才执行真正发送邮件的代码,而开发环境里则不发送以避免向用户发送无心义的垃圾邮件。spring
咱们能够借助Spring的注解@Profile
实现这样的功能,这样须要定义两个实现EmailService
借口的类:数据库
@Service @Profile("dev") class DevEmailService implements EmailService { public void send(String email) { //Do Nothing } } @Service @Profile("prod") class ProdEmailService implements EmailService { public void send(String email) { //Real Email Service Logic } }
@Profile("dev")
代表只有Spring定义的Profile为dev
时才会实例化DevEmailService
这个类。那么如何设置Profile呢?安全
在application.properties
中加入:服务器
spring.profiles.active=dev
java -jar app.jar --spring.profiles.active=dev
另外一篇更为详细的方法,基本差很少:app
http://www.cnblogs.com/java-zhao/p/5469183.html测试