如何@Autowire由外部罐子制成的弹簧豆?
2022-08-31 14:45:43
我有一个模块/jar,我已经创建并用作util库。我在那里创建了一个服务,如下所示:
@Service
public class PermissionsService { ... }
...它驻留在这里的一个包中:com.inin.architect.permissions,在我的主应用程序中,我正在引用/加载这个jar(即在应用程序的maven POM.xml文件中设置为依赖项),如下所示:
<dependency>
<groupId>com.inin.architect</groupId>
<artifactId>permissions</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
在应用程序中,我想使用该服务,例如:
@Autowired
PermissionsService permissions
在应用程序的弹簧设置中,我有这个:
@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类型......”
那么,如何将 lib 中的 Bean 引入到我的应用程序中呢?当然有办法。您是否必须将库设置为成熟的弹簧MVC应用程序,以便这可以正常工作?也就是说,您是否还必须在lib中设置@Configuration和@ComponentScan?