У меня есть кувшин с основным методом. Я создал конфигурацию java с аннотацией @Configuration.JavaConfig Spring bean beans доступен для всех приложений
@Configuration
@ComponentScan(basePackages = { "com.test.commons" })
public class ProxyConfig {
}
В этом com.test.commons я поставил службу
package com.test.commons;
@Service
public class RestService {
//do rest calls
public String restGetCall(URL url){
...
}
}
Я не прошу этого
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
context.register(ProxyConfig.class);
context.getBean("myBean");
Основной
@SpringBootApplication(scanBasePackages={"com.test.commons", "com.test.soapproxy" })
public class MainAppProxy
{
private final static Logger logger = LoggerFactory.getLogger(MainAppProxy.class);
public static void main(String[] args)
{
SpringApplication.run(MainAppProxy.class, args);
// Choose environment from the arguments
String env = args[0];
// publish an endpoint here
Configuration config = null;
config = configs.properties
(new File("config_"+env+".properties"));
Endpoint.publish(endpointAddress, new SomeProxyImpl(config));
Класс в котором я пытаюсь ввести компонент (это @ Компонент нужен здесь на самом деле?)
@Component
public class SomeProxyImpl implements SomeServiceSoap {
@Autowired RestService restService;
Я хотел бы иметь возможность вводить этот RestService боб через @Autowired во всем моем приложении, не только в SomeProxyImpl (который не работает в любом случае). Как я могу это сделать?
http://stackoverflow.com/questions/41672758/autowiring-a-spring-managed-bean-in-the-resteasy-providers/41674399#41674399 –
вы использовали scanBasePackages: @SpringBootApplication (scanBasePackages = {.. } – melihcoskun
Autowire your 'RestService' в ваших контроллерах. Это будет отвечать вашим потребностям. –