IoC DI 使⽤
既然 Spring 是⼀个IoC控制反转容器作为容器,那么它就具备两个最基础的功能• 存• 取Spring容器管理的主要是对象,这些对象,我们称之为Bean.我们把这些对象交由Spring管理,由 Spring来负责对象的创建和销毁.我们程序只需要告诉Spring,哪些需要存,以及如何从Spring中取出对象。⽬标:把BookDao,BookService交给Spring管理,完成Controller层,Service层,Dao层的解耦步骤:1. Service层及Dao层的实现类交给Spring管理:使⽤注解:Component2. 在Controller层和Service层注⼊运⾏时依赖的对象:使⽤注解Autowired实现:1. 把BookDao交给Spring管理,由Spring来管理对象Component public class BookDao { /** * 数据Mock 获取图书信息 * * return */ public ListBookInfo mockData() { ListBookInfo books new ArrayList(); for (int i 0; i 5; i) { BookInfo book new BookInfo(); book.setId(i); book.setBookName(书籍 i); book.setAuthor(作者 i); book.setCount(i * 5 3); book.setPrice(new BigDecimal(new Random().nextInt(100))); book.setPublish(出版社 i); book.setStatus(1); books.add(book); } return books; } }2. 把BookService交给Spring管理,由Spring来管理对象Component public class BookService { private BookDao bookDao new BookDao(); public ListBookInfo getBookList() { ListBookInfo books bookDao.mockData(); for (BookInfo book : books) { if (book.getStatus() 1) { book.setStatusCN(可借阅); } else { book.setStatusCN(不可借阅); } } return books; } }3. 删除创建BookDao的代码,从Spring中获取对象Component public class BookService { Autowired private BookDao bookDao; public ListBookInfo getBookList() { ListBookInfo books bookDao.mockData(); for (BookInfo book : books) { if (book.getStatus() 1) { book.setStatusCN(可借阅); } else { book.setStatusCN(不可借阅); } } return books; } }4. 删除创建BookService的代码,从Spring中获取对象RequestMapping(/book) RestController public class BookController { Autowired private BookService bookService; RequestMapping(/getList) public ListBookInfo getList(){ //获取数据 ListBookInfo books bookService.getBookList(); return books; } }5. 重新运⾏程序,http://127.0.0.1:8080/book_list.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2558102.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!