java获取调用当前方法的方法名和行数

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

原文地址:https://www.cnblogs.com/kelelipeng/p/11905074.html