我目前正在学习Spring Boot并遇到了这个问题。我有一个处理身份验证的简单类,它存在于外部jar(Aunthenticaion.class)上。这个外部类的字段只是用户名,密码和URL,它为我提供了基于这些凭据的身份验证。我想要做的就是在编译时创建这个类的实例(通过传递这些凭据),因为我的应用程序在没有设置此用户名,密码和URL时抛出构建错误。
package org.Authentication;
公共类认证{
String username;
String password;
String url;
public String getUserName() {
return username;
}
public void setUserName(String username) {
this.username = username;
}
public void setPassword(String password) {
this.password = password;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String GetToken(String username,String password,String url) {
return TokenService.getToken(username,password,url);
}
}
上面是外部Jar上的Authentication类。我知道必须有类似的问题已经存在,但我提前道歉,你的回复将受到高度赞赏。
答案 0 :(得分:1)
您可以通过静态或动态
两种方式创建对象<强>静态强>
Class<?> clazz = Authentication.class;
// static call
Method getUserName = clazz.getMethod("getUserName");
String uname = (Stirng) getUserName.invoke(null /* static */);
<强>动态强>
Constructor<?> ctor = clazz.getConstructor();
Object instance = ctor.newInstance();
Method print = clazz.getMethod("GetToken", String.class, String.class,
String.class);
print.invoke(instance, uname,passwd,url);