How withstars/books-management-system works
This is a Spring MVC library-management web application. Readers and administrators sign in, then use role-specific screens to search and maintain books and reader records, manage borrowing and returns, and view lending history. Controllers invoke service-layer operations, which use JDBC DAOs to access MySQL; JSPs render the resulting pages. The README also documents password changes, lost-card handling, and overdue reminders. Those latter capabilities are represented at the service-subsystem level because their specific implementation paths and wiring were not established by the sampled source.
Main entry points: LendController.java Lending controller · ReaderController.java Reader controller · LoginController.java Login controller · BookController.java Book controller
Components 19
Web interface
- Login controller
src/main/java/com/book/web/LoginController.java - Book controller
src/main/java/com/book/web/BookController.java - Reader controller
src/main/java/com/book/web/ReaderController.java - Lending controller
src/main/java/com/book/web/LendController.java
Business services
- Login service
src/main/java/com/book/service/LoginService.java - Book service
src/main/java/com/book/service/BookService.java - Reader service
src/main/java/com/book/service/ReaderInfoService.java - Card service
src/main/java/com/book/service/ReaderCardService.java - Lending service
src/main/java/com/book/service/LendService.java - Lost-card and overdue operations
src/main/java/com/book/service
Persistence and domain
- Book DAO
src/main/java/com/book/dao/BookDao.java - Reader and card DAOs
src/main/java/com/book/dao - Lending DAO
src/main/java/com/book/dao/LendDao.java - Admin DAO
src/main/java/com/book/dao/AdminDao.java - Domain records
src/main/java/com/book/domain
Runtime views
- JSP pages
src/main/webapp/WEB-INF/jsp
Other components
- Reader
- Administrator
- MySQL database
Connections 27
- Reader → Login controller: submits login
- Administrator → Login controller: submits login
- Reader → Book controller: searches books
- Administrator → Book controller: manages books
- Administrator → Reader controller: manages readers
- Administrator → Lending controller: lends or returns
- Reader → Lending controller: views loans
- Login controller → Login service: authenticates
- Book controller → Book service: manages books
- Reader controller → Reader service: manages reader info
- Reader controller → Card service: updates card
- Lending controller → Lending service: manages loans
- Lending controller → Book service: loads book
- Login service → Reader and card DAOs: checks reader
- Login service → Admin DAO: checks admin
- Book service → Book DAO: queries and updates
- Reader service → Reader and card DAOs: queries and updates
- Card service → Reader and card DAOs: updates card
- Lending service → Lending DAO: records loan changes
- Book DAO → MySQL database: reads and writes
- Reader and card DAOs → MySQL database: reads and writes
- Lending DAO → MySQL database: reads and writes
- Admin DAO → MySQL database: reads and writes
- Login controller → JSP pages: renders login pages
- Book controller → JSP pages: renders book pages
- Reader controller → JSP pages: renders reader pages
- Lending controller → JSP pages: renders lending pages