谢谢!
答案 0 :(得分:1)
这是一个简单的示例,其中有一个汽车存储库/ DAO,它通过不暴露,如果存储在数据库,文件,XML等中,从业务逻辑中抽象出持久性。业务类然后注入一个实例以便能够to - 在这种情况下 - 保存到数据库。但是,您可以创建其他实现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
}