java獲取調用當前方法的方法名和行數
String className = Thread.currentThread().getStackTrace()[2].getClassName();//調用的類名
String methodName = Thread.currentThread().getStackTrace()[2].getMethodName();//調用的方法名
int lineNumber = Thread.currentThread().getStackTrace()[2].getLineNumber();//調用的行數
Thread.currentThread().getStackTrace()[1]是你當前方法執行堆棧
Thread.currentThread().getStackTrace()[2]就是上一級的方法堆棧 以此類推
________________________________________________________________________________________
1.System類
//獲取服務器使用的系統
String system = System.getProperty("os.name");
Properties properties = System.getProperties();
for (String name : properties.stringPropertyNames()) {
System.out.println(name);
System.out.println(System.getProperty(name));
//單個實例:輸出 os.name Windows 10 一共68組
}
2.EnvironmentAware類可以獲取數據源,驅動等
@Configuration
public class EAwareInfo implements EnvironmentAware {
@Override
public void setEnvironment(Environment environment) {
String projectName =environment.getProperty("project.name");
System.out.println(projectName); //獲取項目名稱
}
}
//邏輯層使用
@Service
public class TestServiceImpl implements TestService, EnvironmentAware {
private static String projectName=null;
@Override
public void setEnvironment(Environment environment) {
//獲取項目名稱
projectName=environment.getProperty("project.name");
//獲取到前綴是"spring.datasource." 的屬性列表值.
RelaxedPropertyResolver relaxedPropertyResolver = new RelaxedPropertyResolver(environment, "spring.datasource.");
System.out.println("spring.datasource.url="+relaxedPropertyResolver.getProperty("url"));
}
}
————————————————
版權聲明:本文為CSDN博主「呂小小布」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_37059838/article/details/89192503