我希望創建一個應儘量減少項目之間依賴關係的項目。我的項目結構如下。減少項目之間的依賴關係
com.example.persistence
它將包含所有實體和一個BaseDao,其中將包含用於保存實體的保存方法。
package com.example.pl;
public class BaseDao {
public void save(Object obj){
System.out.println("Saved the object"+obj);
}
}
com.example.dao
將包含用於保存實體到database.The保存方法基本上調用BaseDao.save
方法這是在persitence層的方法。
package com.example.dao;
import com.example.pl.BaseDao;
public class EmployeeDao extends BaseDao{
@Override
public void save(Object obj) {
// TODO Auto-generated method stub
super.save(obj);
}
}
com.example.service哪個是哪個將訪問Dao.Save()
方法的服務層。
現在我寫在服務層本身就是一個主要的方法來測試我經營的主要方法dependencies.when它提供了以下comilation錯誤
package com.example.sl;
import com.example.dao.EmployeeDao;
public class EmployeeService {
public static void main(String[] args) {
EmployeeDao dao =new EmployeeDao();
dao.save(null);
}
}
The type com.example.pl.BaseDao cannot be resolved. It is indirectly referenced from required .class files
我知道我錯過了罐子從持久層在服務層。所以沒有任何方式沒有添加服務層中的持久層的依賴性?
是的。你說的是對的。 Iam缺少persistence.jar。但是,如果我添加persistence.jar,我會違反項目結構。這是我面臨的實際問題。我不想在我的服務器中添加persistence.jar。是否有可能重新討論這個問題?我編輯了我的問題。 – JavaPassion
如果您正在使用maven/gradle來構建項目,則只需包含dao.jar即可。因爲,dao.jar依賴於Persistence.jar,它將被傳遞地包含在內。這樣,你就不會違反你的項目結構。我可以問你是否使用任何像Maven或Gradle這樣的項目管理工具。 – vijar