gpt4 book ai didi

java - 如何创建 Spring Boot 中外部 jar 上存在的类的对象?

转载 作者:行者123 更新时间:2023-12-02 11:59:30 26 4
gpt4 key购买 nike

我目前正在学习Spring Boot,遇到了这个问题。我有一个处理身份验证的简单类,它存在于外部 jar(Aunthenticaion.class)中。这个外部类的字段只是用户名、密码和 url,它根据这些凭据为我提供身份验证。我想要做的就是在编译时创建此类的实例(通过传递这些凭据),因为当未设置此用户名、密码和 url 时,我的应用程序会引发构建错误。

包org.Authentication;

公共(public)类身份验证{

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 上存在的身份验证类。我知道肯定已经存在类似类型的问题,但我提前表示歉意,并且非常感谢您的回复。

最佳答案

您可以通过静态或动态两种方式创建对象

静态

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);

关于java - 如何创建 Spring Boot 中外部 jar 上存在的类的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47370137/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com