У меня есть модуль /jar, который я создал и использую в качестве библиотеки . Я создал службу там так:
@Service
public class PermissionsService { ... }
... где это находится в пакете здесь: com.inin.architect.permissions, и в моем основном приложении я ссылаюсь/загружаю эту банку (т.е. устанавливаю как зависимость в maven POM.xml для приложения):
<dependency>
<groupId>com.inin.architect</groupId>
<artifactId>permissions</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
и в приложении я хочу использовать эту службу, например:
@Autowired
PermissionsService permissions
В приложении spring у меня есть это:
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = { "com.inin.generator", "com.inin.architect.permissions" })
public class WebConfig extends WebMvcConfigurerAdapter implements ServletContextAware { }
Однако, когда я запускаю свое приложение под tomcat, он жалуется, что для PermissionsService не существует bean: "org.springframework.beans.factory.NoSuchBeanDefinitionException: нет квалификационного bean типа..."
Итак, как я могу использовать bean из lib в мое приложение? Конечно, есть способ. Вам нужно установить библиотеку как полномасштабное приложение spring MVC, чтобы это могло работать? т.е. вам нужно настроить @Configuration и @ComponentScan в lib?