Lors du processus d'utilisation de Spring Boot, vous pouvez constater que le projet nécessite très peu de configuration pour compléter les fonctions correspondantes. Cela est dû à la configuration modulaire de Spring Boot. Chaque Starter qui en dépend dans pom.xml a une valeur par défaut. les configurations sont suffisantes pour le développement normal des fonctions.
server.port=8888
druid.url=jdbc:mysql://192.168.0.20:3306/test druid.driver-class=com.mysql.jdbc.Driver druid.username=root druid.password=123456 druid.initial-size=1 druid.min-idle=1 druid.max-active=20 druid.test-on-borrow=true
Les deux exemples ci-dessus, Il explique que si vous devez modifier la configuration par défaut dans le module de démarrage, il vous suffit d'ajouter la configuration qui doit être modifiée dans application.properties.
com.sam.name=sam com.sam.age=11 com.sam.desc=magical sam
Le premier : utilisez @Value() pris en charge par Spring pour charger
package com.sam.demo.conf; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; /** * @author sam * @since 2017/7/15 */ @Component public class Sam { //获取application.properties的属性 @Value("${com.sam.name}") private String name; @Value("${com.sam.age}") private int age; @Value("${com.sam.desc}") private String desc; //getter & setter }
Le second : utilisez @ConfigurationProperties(prefix="") pour définir le préfixe, aucune annotation n'est nécessaire sur les propriétés.
package com.sam.demo.conf; import org.springframework.stereotype.Component; /** * @author sam * @since 2017/7/15 */ @Component @ConfigurationProperties(prefix = "com.sam") public class Sam { private String name; private int age; private String desc; //getter & setter }
package com.sam.demo.controller; import com.sam.demo.conf.Sam; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * @author sam * @since 2017/7/14 */ @RestController public class IndexController { @Autowired private Sam sam; @RequestMapping("/index") public String index() { System.out.println(sam.getName() + " " + sam.getAge() + " " + sam.getDesc()); return "index"; } }
com.sam.name=sam com.sam.age=11 com.sam.desc=${name} is ${age} years old.
#获取随机字符串 com.sam.randomValue=${random.value} #获取随机字符串:${random.value} #获取随机int:${random.int} #获取10以内的随机数:${random.int(10)} #获取10-20的随机数:${random.int[10,20]} #获取随机long:${random.long} #获取随机uuid:${random.uuid}
Dans le développement réel, il peut y avoir différents environnements, notamment un environnement de développement, un environnement de test et un environnement de production. Les configurations associées peuvent être différentes pour chaque environnement, telles que les informations de base de données, la configuration du port, la configuration du chemin local, etc.
application-dev.properties //开发环境的配置文件 application-test.properties //测试环境的配置文件 application-prod.properties //生产环境的配置文件
spring.profiles.active=dev #引用测试的配置文件 #spring.profiles.active=test #引用生产的配置文件 #spring.profiles.active=prod
Lorsque vous utilisez la commande pour exécuter le package jar pour démarrer l'application, vous pouvez spécifier la configuration correspondante.
java -jar demo-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev
Pièce jointe : méthode de configuration et priorité
这些方式优先级如下: a. 命令行参数 b. 来自java:comp/env的JNDI属性 c. Java系统属性(System.getProperties()) d. 操作系统环境变量 e. RandomValuePropertySource配置的random.*属性值 f. jar外部的application-{profile}.properties或application.yml(带spring.profile)配置文件 g. jar内部的application-{profile}.properties或application.yml(带spring.profile)配置文件 h. jar外部的application.properties或application.yml(不带spring.profile)配置文件 i. jar内部的application.properties或application.yml(不带spring.profile)配置文件 j. @Configuration注解类上的@PropertySource k. 通过SpringApplication.setDefaultProperties指定的默认属性
. springApplication.setAddCommandLineProperties(false);
package com.sam.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { // SpringApplication.run(DemoApplication.class, args); SpringApplication springApplication = new SpringApplication(DemoApplication.class); //禁止命令行设置参数 springApplication.setAddCommandLineProperties(false); springApplication.run(args); } }
server: port: 9999 com: sam: name: sam age: 11 desc: magical sam
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!