本系列文章将会带领大家进行Spring的全面学习,持续关注我,不断更新中…
一.案例分级
简单解析:配置类替代以前的配置文件,实体类提供对象,业务类中有实体类的引用对象,在业务层中实现引用类的自动装配。
二.各层代码及详细解析
配置类:(关于配置类中两个注解的解释可以参考前面文章)
packagecom.itheima.config;importorg.springframework.context.annotation.ComponentScan;importorg.springframework.context.annotation.Configuration;@Configuration//设置为配置类@ComponentScan("com.itheima")//在com.otheima这个包下扫描bean对象publicclassSpringConfig{}
实体类BookDaoImpl:
packagecom.itheima.dao.impl;importcom.itheima.dao.BookDao;importorg.springframework.context.annotation.Scope;importorg.springframework.stereotype.Component;importorg.springframework.stereotype.Repository;@Repository//注解注册beanpublicclassBookDaoImplimplementsBookDao{publicvoidsave(){System.out.println("book dao save ...");}}
实体接口BookDao:
packagecom.itheima.dao;publicinterfaceBookDao{publicvoidsave();}
业务类BookServiceImol:
packagecom.itheima.service.impl;importcom.itheima.dao.BookDao;importcom.itheima.service.BookService;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Service;@ServicepublicclassBookServiceImolimplementsBookService{@AutowiredprivateBookDao bookDao;publicvoidsave(){System.out.println("book service save....");
bookDao.save();}}
@Service:注册bean对象,在执行类中使用getBean()方法获取.
@Autowired:进行自动装配,如果没有此句话,将会出现以下错误运行结果:
业务接口BookService:
packagecom.itheima.service;publicinterfaceBookService{publicvoidsave();}
执行类App3:
packagecom.itheima;importcom.itheima.config.SpringConfig;importcom.itheima.dao.BookDao;importcom.itheima.service.BookService;importorg.springframework.context.annotation.AnnotationConfigApplicationContext;importjava.awt.print.Book;publicclassApp3{publicstaticvoidmain(String[] args){AnnotationConfigApplicationContext ctx =newAnnotationConfigApplicationContext(SpringConfig.class);BookService service=ctx.getBean(BookService.class);
service.save();}}
三.自动装配成功正确执行结果
后续文章:使用注解进行简单类型的自动装配,关注我持续更新,麻烦点个赞啦!!!
版权归原作者 拉不拉斯 所有, 如有侵权,请联系我们删除。