Java 在依赖项中通过Spring设置变量?

Java 在依赖项中通过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

我有两个独立的类,每个类都在不同的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
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();如果没有意识到这一点,将擦除传递值的旧内容。当我为你准备一个例子的时候,我就明白了。谢谢你的帮助。