У меня есть класс:
@WebServiceClient(name = "${service.name}", targetNamespace = "${service.namespace}", wsdlLocation = "${service.wsdlLocation}")
public class ExampleService extends Service {
@Value("${service.wsdlLocation}")
private static String wsdlLocation;
}
Это часть проекта mvn, которую я компилирую и использую из своего локального репозитория maven в качестве зависимости от моего другого приложения весенней загрузки, которое имеет конфигурацию yml:
service:
name: name
namespace: namespace
wsdlLocation: wsdlLocation
Есть ли способ, которым этот класс ExampleService будет использовать конфигурацию "родительского" проекта?
РЕДАКТИРОВАТЬ:
Появились два ответа, но я чувствовал, что сделалне задать вопрос четко. Теперь я хочу использовать класс ExampleService в моем «родительском» проекте и заставить его видеть конфигурацию этого родительского проекта. До сих пор, когда, например, я пишу в родительском проекте код, например:
ExampleService exampleService = new ExampleService();
System.out.println(exampleService.getWsdlLocation());
Null печатается. Поэтому я ищу какое-то решение для этого.
РЕДАКТИРОВАТЬ 2: Вот мои занятия. Родительский проект:
package com.example.kris.parentservice;
import com.example.kris.childservice.ExampleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/example")
public class ExampleController {
// @Autowired
private ExampleService exampleService;
@Value(value = "${service.wsdlLocation}")
private String wsdlLocation;
@GetMapping(value = "/example")
public void example() {
exampleService = new ExampleService();
System.out.println("ExampleService field: " + exampleService.getWsdlLocation());
System.out.println("@Value: " + wsdlLocation);
}
}
Дочерний проект:
package com.example.kris.childservice;
import org.springframework.beans.factory.annotation.Value;
public class ExampleService {
@Value("${service.wsdlLocation}")
private String wsdlLocation;
public String getWsdlLocation() {
return wsdlLocation;
}
}
И вывод после запуска родительского контроллера:
ExampleService field: null
@Value:test.wsdl.location