@Service public class BookService { @Autowired private BookRepository bookRepository; public List<Book> getAllBooks() { return bookRepository.findAll(); } public Book getBookById(Long id) { return bookRepository.findById(id).orElseThrow(); } public Book createBook(Book book) { return bookRepository.save(book); } public Book updateBook(Book book) { Book existingBook = getBookById(book.getId()); existingBook.setTitle(book.getTitle()); existingBook.setAuthor(book.getAuthor()); return bookRepository.save(existingBook); } public void deleteBook(Long id) { bookRepository.deleteById(id); } }
@RestController @RequestMapping("/api/books") public class BookController { @Autowired private BookService bookService; @GetMapping public List<Book> getAllBooks() { return bookService.getAllBooks(); } @GetMapping("/{id}") public Book getBookById(@PathVariable Long id) { return bookService.getBookById(id); } @PostMapping public Book createBook(@RequestBody Book book) { return bookService.createBook(book); } @PutMapping("/{id}") public Book updateBook(@PathVariable Long id, @RequestBody Book book) { book.setId(id); return bookService.updateBook(book); } @DeleteMapping("/{id}") public void deleteBook(@PathVariable Long id) { bookService.deleteBook(id); } }
<!-- Maven --> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> </dependencies> spring boot in action cracked
public interface BookRepository extends JpaRepository<Book, Long> { }
Create a BookRepository interface:
Spring Boot is a popular Java-based framework developed by Pivotal Team. It's an extension of the Spring Framework, designed to simplify the process of building, configuring, and deploying applications. Spring Boot allows developers to create stand-alone, production-grade applications with minimal configuration and boilerplate code.
Create a Book model:
Let's consider a real-world example of building a simple RESTful API using Spring Boot. Suppose we want to create an API that manages books.