我有2个春季启动应用程序。一个用作SDK,用于将组件重用于任何弹簧启动项目。第二个项目将使用SDK项目并使用其组件。这是基本的想法。我得到依赖的问题没有发现异常。
SDK项目将有一些实体及其存储库和services.it将不会在application.properties中进行任何数据库配置,因为它将引用第二个项目,该项目将具有另一个数据库。所以我在第二个项目中配置了2个DB。dbconfig代码段
sdk.datasource.driver-class-name = com.mysql.jdbc.Driver
sdk.datasource.url = jdbc:mysql://localhost:3307/organization
sdk.datasource.username=root
sdk.datasource.password=password
hrms.datasource.driver-class-name = com.mysql.jdbc.Driver
hrms.datasource.url = jdbc:mysql://192.168.0.188:3306/hrms
hrms.datasource.username = root
hrms.datasource.password = hY6hvg
当我在第二个项目控制器上自动装载sdk服务时,如
@Autowired
private SDKUserService sdkUserService;
它会显示依赖项未找到异常。
以下是SDK项目的SDK用户服务。
@Service
public class SDKUserServiceImpl implements SDKUserService {
//
}
答案 0 :(得分:0)
您的两个项目都在维护不同的应用程序上下文。所以你没有通过使用@Autowired从bean上下文获得对类的访问。为了实现这一点,你必须在Spring的单个上下文中维护两个项目类,只需在xml或java配置文件中进行,如下所示。
<import resource="classpath:projectBweb.xml"/>
或
@Import({ projectB.class })