一、獲取Springboot版本信息
1、通過pom.xml文件獲取版本信息
<properties>
<java.version>1.8</java.version>
<spring-boot.version>1.5.22.RELEASE</spring-boot.version>
</properties>
2、通過Java代碼獲取版本信息
@SpringBootApplication
public class DemoApplication implements CommandLineRunner {
@Autowired
private Environment environment;
public static void main(String[] args) {
SpringApplication app = new SpringApplication(DemoApplication.class);
app.run(args);
}
@Override
public void run(String... args) throws Exception {
System.out.println("Spring Boot version: " + environment.getProperty("spring-boot.version"));
}
}
二、獲取配置文件屬性值
1、通過@Value註解獲取單個屬性值
@Service
public class MyService {
@Value("${my.property}")
private String myProperty;
public String getMyProperty() {
return myProperty;
}
}
2、通過@ConfigurationProperties註解獲取多個屬性值
@ConfigurationProperties(prefix = "my")
public class MyProperties {
private String property1;
private String property2;
public String getProperty1() {
return property1;
}
public void setProperty1(String property1) {
this.property1 = property1;
}
public String getProperty2() {
return property2;
}
public void setProperty2(String property2) {
this.property2 = property2;
}
}
@Service
public class MyService {
private MyProperties properties;
@Autowired
public MyService(MyProperties properties) {
this.properties = properties;
}
public MyProperties getProperties() {
return properties;
}
}
三、獲取Bean對象
1、通過@Autowired註解獲取Bean對象
@Service
public class MyService {
@Autowired
private MyObject myObject;
public MyObject getMyObject() {
return myObject;
}
}
2、通過@Bean註解創建Bean對象
@Configuration
public class MyConfiguration {
@Bean
public MyObject myObject() {
return new MyObject();
}
}
3、通過@ConditionalOnClass註解創建Bean對象
@Configuration
@ConditionalOnClass(MyOtherObject.class)
public class MyConfiguration {
@Bean
public MyObject myObject() {
return new MyObject();
}
}
四、獲取Springboot啟動器依賴
1、通過pom.xml文件獲取依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>{version}</version>
</dependency>
2、通過Maven倉庫搜索獲取依賴信息
訪問地址:https://mvnrepository.com/app/search?q=spring-boot-starter-web
3、通過Spring Initializr獲取依賴信息
訪問地址:https://start.spring.io/
五、獲取Springboot啟動時間
1、通過SpringApplicationRunListener獲取啟動時間
public class MyApplicationRunListener implements SpringApplicationRunListener {
private final long startTime = System.currentTimeMillis();
public MyApplicationRunListener(SpringApplication application, String[] args) {
}
@Override
public void starting() {
}
@Override
public void started(ConfigurableApplicationContext context) {
System.out.println("Spring Boot started in " + (System.currentTimeMillis() - startTime) + " ms");
}
@Override
public void running(ConfigurableApplicationContext context) {
}
@Override
public void failed(ConfigurableApplicationContext context, Throwable exception) {
}
}
public class MyApplicationRunListenerFactory implements SpringApplicationRunListenerFactory {
@Override
public SpringApplicationRunListener createSpringApplicationRunListener(SpringApplication application, String[] args) {
return new MyApplicationRunListener(application, args);
}
}
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication app = new SpringApplication(DemoApplication.class);
app.addListeners(new MyApplicationRunListenerFactory());
app.run(args);
}
}
2、通過@EventListener註解獲取啟動時間
@SpringBootApplication
public class DemoApplication {
@EventListener(ApplicationReadyEvent.class)
public void afterStartup() {
Instant endTime = Instant.now();
Instant startTime = DemoApplication.startTime;
Duration duration = Duration.between(startTime, endTime);
System.out.println("Spring Boot started in " + duration.toMillis() + " ms");
}
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
原創文章,作者:ZMURC,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/331714.html
微信掃一掃
支付寶掃一掃