1.写一个MySpringApplication.java类:
import org.springframework.boot.SpringApplication; import java.util.Properties; public class MySpringApplication { public static void run(Class<?> primarySource, String... args) { SpringApplication springApplication = new SpringApplication(primarySource); Properties properties = new Properties(); //可以从文件中读取,然后解密出来 properties.put("ds1.password", DesUtil.getDecryptString("QAHlVoUc49w=")); properties.put("ds2.password", DesUtil.getDecryptString("QAHlVoUc49w=")); springApplication.setDefaultProperties(properties); springApplication.run(args); } }
2.改写main方法中的SpringApplication.run方法:
package com.example.app; import com.example.app.common.init.MySpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; @SpringBootApplication public class WarApplication { public static void main(String[] args) { MySpringApplication.run(WarApplication.class, args); } }
3.test类执行会报错,只需要加上classes属性即可:
@SpringBootTest(classes = {MySpringApplication.class})