本文共 1666 字,大约阅读时间需要 5 分钟。
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://blog.csdn.net/weixin_32661831/article/details/114171807 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!