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);
}
}

相关推荐
Grey Zeng9 小时前
Java SE 25新增特性
java·jdk·jdk新特性·jdk25
雨白10 小时前
Java 线程通信基础:interrupt、wait 和 notifyAll 详解
android·java
架构师沉默14 小时前
设计多租户 SaaS 系统,如何做到数据隔离 & 资源配额?
java·后端·架构
Java中文社群16 小时前
重要:Java25正式发布(长期支持版)!
java·后端·面试
每天进步一点_JL17 小时前
JVM 类加载:双亲委派机制
java·后端
用户2986985301417 小时前
Java HTML 转 Word 完整指南
java·后端
渣哥17 小时前
原来公平锁和非公平锁差别这么大
java
渣哥18 小时前
99% 的人没搞懂:Semaphore 到底是干啥的?
java
J2K18 小时前
JDK都25了,你还没用过ZGC?那真得补补课了
java·jvm·后端
kfyty72518 小时前
不依赖第三方,不销毁重建,loveqq 框架如何原生实现动态线程池?
java·架构