下面是一個簡單的例子,你有車庫/ DAO通過,如果它被保存在一個數據庫中,文件中未暴露從業務邏輯抽象的持久性,XML等業務類,然後注入一個實例是能夠 - 在這種情況下 - 保存到數據庫。然而,你可能已經作出實施CarRepository併爲您的應用程序中保存數據,而無需觸摸你的代碼的其他部分提供其他方式的其他類。
持久層
接口庫/ DAO
@Local
public interface CarRepository {
List<Car> findAllCars();
// Many other methods
}
庫(域驅動設計)或數據訪問對象
@Stateless
public class CarSqlRepository implements CarRepository {
@PersistenceContext(unitName = "MyUnit")
private EntityManager entityManager;
public List<Car> findAllCars() {
}
// Many other methods
}
服務/業務層
@Stateless
public class CarService {
@Inject
private CarRepository carRepository;
public List<Car> findAllCars() {
return carRepository.findAllCars();
}
// Many other methods
}
做過,對不起...... –