3.19
学习与实践内容
今天聚焦后端功能实现,使用 Spring MVC 开发 RESTful API。首先创建BookController处理图书管理请求:
java
// BookController.java
@RestController
@RequestMapping("/api/books")
public class BookController {
@Autowired
private BookService bookService;
@GetMapping
public List<Book> getAllBooks() {
return bookService.getAllBooks();
}
@PostMapping
public Book addBook(@RequestBody Book book) {
return bookService.addBook(book);
}
@PutMapping("/{id}/status")
public Book updateBookStatus(@PathVariable Long id, @RequestParam Integer status) {
return bookService.updateBookStatus(id, status);
}
}
在BookService中实现业务逻辑,包括事务管理和异常处理:
java
// BookServiceImpl.java
@Service
public class BookServiceImpl implements BookService {
@Autowired
private BookRepository bookRepository;
@Override
@Transactional
public Book borrowBook(Long bookId, Long userId) {
Book book = bookRepository.findById(bookId)
.orElseThrow(() -> new BookNotFoundException("Book not found"));
if (book.getStatus() != 0) {
throw new BookNotAvailableException("Book is not available for borrowing");
}
book.setStatus(1);
// 记录借阅信息到BorrowRecord表
borrowRecordService.createRecord(bookId, userId);
return bookRepository.save(book);
}
}
使用 MyBatis 实现数据访问层,通过 XML 映射文件定义 SQL 查询:
xml
学习收获
掌握 Spring MVC 控制器开发和 RESTful API 设计规范,理解 Service 层业务逻辑封装和事务管理。学会使用 MyBatis 实现数据库操作,掌握 XML 映射文件配置方法。
学习反思
在实现复杂业务逻辑时,Service 层代码变得冗长,需要进一步优化设计模式。对 MyBatis 高级特性如二级缓存、插件机制了解不足,后续需深入学习。
posted on 2025-03-19 23:11 我爱玩原神(原神大王) 阅读(8) 评论(0) 收藏 举报
浙公网安备 33010602011771号