Java – how to use yaml attribute and constructor injection in spring boot?

I know it should be a piece of cake, but I just didn't get anywhere

In my spring boot application, in application In the YML file, I have an entry like this:

some:
    constructor:
        property: value

I have a spring service (it's fake, but it proves the problem):

package somepackage;

@Service
public class DummyService {
    public DummyService(@Value("${some.constructor.property}") String path) {}
}

However, startup failed:

How can I convince spring that it should use a non empty constructor and that it should get constructor parameters from a yaml file? Note: I don't use any XML bean configuration files or anything, and I don't want to

Solution

Just put the @ Autowired annotation on the constructor

@Autowired
public DummyService(@Value("${some.constructor.property}") String path) {}
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>