У меня есть два модуля сети и бизнеса. Я включил бизнес в Интернете. Но когда я пытаюсь включить сервисный интерфейс из бизнеса в сеть, используя @autowired
, он дает org.springframework.beans.factory.NoSuchBeanDefinitionException
.
Таким образом, в принципе @SpringBootApplication
не может сканировать @Service
из бизнес-модуля.
Это что-то простое, мне не хватает?
Если я добавлю @Bean
для этой службы в классе @SpringBootApplication
, она будет работать нормально.
Код:
package com.manish;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
@SpringBootApplication
public class SpringBootConfiguration {
public static void main(String[] args) {
SpringApplication.run(SpringBootConfiguration.class, args);
}
}
Класс из модуля 1, из которого вызывается класс из модуля 2:
package com.manish.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import uk.co.smithnews.pmp.service.contract.UserRegistrationService;
@RestController
@RequestMapping("/testManish")
public class SampleController {
@Autowired
private SampleService sampleService;
....
}
Модуль 2:
package com.manish.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class SampleServiceImpl implements SampleService {
}
Спасибо,