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

相关推荐
叫我阿柒啊12 分钟前
Java全栈工程师面试实战:从基础到微服务的深度解析
java·redis·微服务·node.js·vue3·全栈开发·电商平台
hqxstudying1 小时前
mybatis过渡到mybatis-plus过程中需要注意的地方
java·tomcat·mybatis
lichkingyang1 小时前
最近遇到的几个JVM问题
java·jvm·算法
ZeroKoop2 小时前
多线程文件下载 - 数组切分,截取文件名称
java
Monly212 小时前
IDEA:控制台中文乱码
java·ide·intellij-idea
yueyuebaobaoxinx2 小时前
MATLAB 与 Simulink 联合仿真:控制系统建模与动态性能优化
开发语言·matlab·性能优化
叫我阿柒啊2 小时前
从全栈开发到微服务架构:一次真实的Java面试实录
java·redis·ci/cd·微服务·vue3·springboot·jwt
superlls3 小时前
(计算机网络)JWT三部分及 Signature 作用
java·开发语言·计算机网络
多工坊3 小时前
【DataGrip】连接达梦数据库后,能查询数据但是看不到表的几种情况分析,达梦数据库驱动包下载DmJdbcDriver18.jar
java·数据库·jar
一只鲲4 小时前
56 C++ 现代C++编程艺术5-万能引用
开发语言·c++