spring 装配bean的三种方式

这段时间在学习Spring,依赖注入DI和面向切面编程AOP是Spring框架最核心的部分。这次主要是总结依赖注入的bean的装配方式。

什么是依赖注入呢?也可以称为控制反转,简单的来说,一般完成稍微复杂的业务逻辑,可能需要多个类,会出现有些类要引用其他类的实例,也可以称为依赖其他类。传统的方法就是直接引用那个类对象作为自己的一个属性,但如果我们每次创建这个类的对象时,都会创建依赖的类的对象,还有如果那个类将来可能不用了,还需要到这个类去删除这个对象,那破坏了代码的复用性和导致高度耦合

依赖注入的出现可以很好地解决这个问题,依赖注入就是由系统负责协调类的依赖对象的创建,我们无需自己去显示的创建依赖对象,而是由系统给我们注入这个对象,系统控制了这个对象的创建,也称为控制反转。

 

Spring给我们注入对象有三种方式:

隐式的bean扫描发现机制和自动装配

在java中进行显示配置

在XML中进行显示配置

第一种:

spring从两个角度实现自动化装配:组件扫描和自动装配。

当对一个类标注@Component注解时,表明该类会作为组件类,spring将为这个类创建bean。当在应用文中引用这个bean,spring会自动扫描事先指定的包查找这个 bean。但spring默认是不启用组件扫描的,可以在XML中配置加上<context:component-scan base-package="xx"/>。还有一种方法:在新建一个配置类,类中可以什么不用写,在配置类上加上@ComponentScan注解,spring会自动扫描改配置类所在的包,一般应该倾向xml配置。下面是一个bbs论坛系统用户发帖的功能小例子:

1 package bbs.dao; 2 @Component 3 public interface Postdao { 4 /* 5 *用户发帖 ,post表添加帖子信息 6 */ 7 public int addpost(@Param("title") String title,@Param("content") String content,@Param("userid") int userid); 8 } 9 10 package bbs.dao; 11 @Component 12 public interface Userdao { 13 /* 14 * 用户发帖后,user表将用户发帖数加一 15 */ 16 public int addpost(int userid); 17 }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzdsdd.html