JavaEE作业-实验四

目录

1.实验内容

2.实验要求

3.思路

4.程序源码


1.实验内容

简单的线上图书交易系统的服务层

2.实验要求

(1)使用Spring框架,采用XML配置

(2)要求具有如下服务层功能:商品分类、订单、购物车、库存。并且分离接口与实现

(3)独立完成,编写实验报告

3.思路

①定义服务接口: 为每个业务实体(如图书、订单、购物车、库存等)定义一个服务接口。接口中声明了与业务相关的方法,如查询、新增、更新、删除等。②创建服务实现类: 实现服务接口,将具体的业务逻辑封装在实现类中。在实现类中注入相应的DAO实例,通过DAO层完成对数据库的操作。

③使用注解标注服务实现类: 使用Spring的@Service注解标识服务实现类,以便Spring能够识别并将其注册为Bean。

④在服务实现类中处理业务逻辑: 在服务实现类中编写具体的业务逻辑,处理业务需求,调用DAO层的方法与数据库进行交互。

4.程序源码

①BookServiceImpl类

@Service
public class BookServiceImpl implements BookService {

@Autowired

private BookDAO bookDAO;

@Override

public List<Book> getAllBooks() {

return bookDAO.getAllBooks();
}

@Override

public Book getBookById(Long id) {

return bookDAO.getBookById(id);
}

@Override

public void addBook(Book book) {

bookDAO.addBook(book);
}

@Override

public void updateBook(Book book) {

bookDAO.updateBook(book);
}

@Override

public void deleteBook(Long id) {

bookDAO.deleteBook(id);
}
}

②BookServiceImpl类

@Service
public class BookServiceImpl implements BookService {

@Autowired

private BookDAO bookDAO;

@Override

public List<Book> getAllBooks() {

return bookDAO.getAllBooks();
}

@Override

public Book getBookById(Long id) {

return bookDAO.getBookById(id);
}

@Override

public void addBook(Book book) {

bookDAO.addBook(book);
}

@Override

public void updateBook(Book book) {

bookDAO.updateBook(book);
}

@Override

public void deleteBook(Long id) {

bookDAO.deleteBook(id);
}
}

③OrderServiceImpl类

@Service
public class OrderServiceImpl implements OrderService {

@Autowired

private OrderDAO orderDAO;

@Override

public List<Order> getAllOrders() {

return orderDAO.getAllOrders();
}

@Override

public Order getOrderById(Long id) {

return orderDAO.getOrderById(id);
}

@Override

public void addOrder(Order order) {

orderDAO.addOrder(order);
}

@Override

public void updateOrder(Order order) {

orderDAO.updateOrder(order);
}

@Override

public void deleteOrder(Long id) {

orderDAO.deleteOrder(id);
}
}

④InventoryServiceImpl类

@Service
public class InventoryServiceImpl implements InventoryService {

@Autowired

private InventoryDAO inventoryDAO;

@Override

public Inventory getInventoryByBookId(Long bookId) {

return inventoryDAO.getInventoryByBookId(bookId);
}

@Override

public void addInventory(Inventory inventory) {

inventoryDAO.addInventory(inventory);
}

@Override

public void updateInventory(Inventory inventory) {

inventoryDAO.updateInventory(inventory);
}

@Override

public void deleteInventory(Long id) {

inventoryDAO.deleteInventory(id);
}
}

相关推荐
枫叶丹419 分钟前
【HarmonyOS 6.0】ArkWeb PDF预览回调功能详解:让PDF加载状态可控可感
开发语言·华为·pdf·harmonyos
小陈工31 分钟前
数据库Operator开发实战:以PostgreSQL为例
开发语言·数据库·人工智能·python·安全·postgresql·开源
耿雨飞32 分钟前
Python 后端开发技术博客专栏 | 第 07 篇 元类与类的创建过程 -- Python 最深层的魔法
开发语言·python
qq_120840937133 分钟前
Three.js AnimationMixer 工程实战:骨骼动画、剪辑切换与时间缩放
开发语言·javascript·ecmascript
Dxy123931021641 分钟前
Python在图片上画多边形:从简单轮廓到复杂区域标注
开发语言·python
楼田莉子44 分钟前
同步/异步日志系统:日志器管理器模块\全局接口\性能测试
linux·服务器·开发语言·c++·后端·设计模式
geNE GENT1 小时前
Spring Boot管理用户数据
java·spring boot·后端
人邮异步社区1 小时前
文科生零基础学 Python 难吗?真不难,难的是找对书!
开发语言·python
怒放吧德德1 小时前
Spring Boot实战:Event事件机制解析与实战
java·spring boot·后端
春栀怡铃声1 小时前
【C++修仙录02】筑基篇:类和对象(上)
开发语言·c++·算法