Java 在依赖项中通过Spring设置变量?
我有两个独立的类,每个类都在不同的jar中。类B是a的依赖项。我希望能够将类a中变量(从配置文件加载的url)中的值传递到B中。但是,我在这样做时遇到了问题,因为该值总是填充为nullJava 在依赖项中通过Spring设置变量?,java,spring,maven,Java,Spring,Maven,我有两个独立的类,每个类都在不同的jar中。类B是a的依赖项。我希望能够将类a中变量(从配置文件加载的url)中的值传递到B中。但是,我在这样做时遇到了问题,因为该值总是填充为null public class A { @Value("${url.name}") private String url; ... B b = new B(); 这是我的B班 @Component public class B implements BInterface { @Autowired privat
public class A {
@Value("${url.name}")
private String url;
...
B b = new B();
这是我的B班
@Component
public class B implements BInterface {
@Autowired
private String url
我已经调试并确认URL在类A中成功加载,但似乎没有传递到B中。有人能告诉我哪里出错了吗?请注意,B类与a类完全不同,我认为这就是问题的核心所在。本质上,我想知道传递类a中JAR中的值,然后将该值传递给类B中JAR是依赖项或a的类的最佳方法。在类a中,如果您希望它来自Spring上下文,则不能调用
new B()
像这样的A中的B类怎么样
public class A {
@Value("${url.name}")
private String url;
...
@Autowire
private B b;
此外,不能自动关联字符串属性。那么@Value
类中的Sring URL又如何呢
@Component
public class B implements BInterface {
@Value("${url.name}")
private String url;
您可以在类B中使用url的setter。希望以Spring的方式进行尝试。尝试了您的建议后,另一个类中的值仍然为空。因此,问题是在代码的其他地方,我正在执行url=new String();如果没有意识到这一点,将擦除传递值的旧内容。当我为你准备一个例子的时候,我就明白了。谢谢你的帮助。