У меня есть приложение Spring Rest, которое имеет Rest Controller
, как показано ниже.
@RestController
public class IngestorController
{
@Autowired
private IngestorService ingestorService;
@RequestMapping( value = "/ingestor/createAndDeploy/{ingestorName}", method = RequestMethod.POST )
public void createAndDeploy( @PathVariable String ingestorName )
{
ingestorService.createAndDeploy( ingestorName );
}
}
Точно так же у меня есть Service Bean
, как показано ниже
@Service
public class IngestorService
{
@Autowired
private IngestorCommandBuilder ingestorCommandBuilder;
private String uri;
private DeployTemplate deployTemplate;
public void init() throws URISyntaxException
{
deployTemplate = new DeployTemplate( new URI( uri ) );
}
@Transactional
public void createAndDeploy( Ingestor ingestor )
{
//.....
}
}
У меня есть Spring config
, как показано ниже
<bean id="ingestorCommandBuilder" class="org.amaze.server.ingestor.IngestorCommandBuilder" />
<bean id="ingestorService" class="org.amaze.server.service.IngestorService" init-method="init">
<property name="uri" value="http://localhost:15217" />
</bean>
<bean id="ingestorController" class="org.amaze.server.controller.IngestorController"/>
Всякий раз, когда я пытаюсь запустить контекст приложения, контекст приложения запускается и вызывает метод init в IngestorService, объект deployTemplate также инициализируется для сервисного компонента.
Но этот bean-компонент не привязан к IngestorController автоматически. Когда я нажимаю конечную точку отдыха из почтальона, сервисный компонент имеет свойство deployTemplate как нулевое. Объект, который назначается переменной ingestorService в контроллере, является другим объектом, а не тем, который был вызван для метода инициализации...
Я попытался сделать одноэлементный сервисный компонент (даже если областью действия по умолчанию является одноэлементный), но не работает...
Я не могу выяснить ошибку, которую я делаю. Любые предложения приветствуются...
<bean>
и аннотирован этот класс с помощью@Service
? - person Sotirios Delimanolis   schedule 23.06.2015