Java 在构造函数中连接bean和值
我用的是弹簧。我有这门课:Java 在构造函数中连接bean和值,java,spring,autowired,spring-ioc,Java,Spring,Autowired,Spring Ioc,我用的是弹簧。我有这门课: @Service public class FooService { @Value("${xml.file.path}") String xmlFilePath; @Autowired ResourceLoader ctx; } 我真的很讨厌连接属性,更喜欢使用构造函数,但我想到的任何东西都会得到一个奇怪的“类FooService中的构造函数FooService不能应用于给定的类型”。在这种情况下是否可以使用结构布线?这应该可以:
@Service
public class FooService {
@Value("${xml.file.path}")
String xmlFilePath;
@Autowired
ResourceLoader ctx;
}
我真的很讨厌连接属性,更喜欢使用构造函数,但我想到的任何东西都会得到一个奇怪的“类FooService中的构造函数FooService不能应用于给定的类型”。在这种情况下是否可以使用结构布线?这应该可以:
@Service
public class FooService {
private String xmlFilePath;
private ResourceLoader ctx;
@Autowired
public FooService(@Value("${xml.file.path}") String xmlFilePath, ResourceLoader ctx) {
super();
this.xmlFilePath = xmlFilePath;
this.ctx = ctx;
}
}
就我而言,这太愚蠢了,现在我意识到问题在于测试被破坏了,因为它使用了默认构造函数。奇怪的是,那个信息是误导!