概念:
控制反转[Inversion of Control]指应用本身不负责依赖对象(被调用对象)的创建及维护,由外部容器(Spring容器)负责依赖对象的创建及维护.
实现方式:
第1种: 构造方法
<bean id="Bean匿名" class="类全名" />
第2种: 工厂类的静态方法
<!-- Bean匿名=工厂类.静态方法名() -->
<bean id="Bean匿名" class="工厂类全名" factory-method="静态方法名"/>
第3种: 工厂类的对象方法
<bean id="别名A" class="工厂类全名"/>
<bean id="别名" factory-bean="别名A" factory-method="方法名"/>
第4种: 注解方式
- 添加context命名空间和context约束文件的地址 ( IDEA会自动生成 )
- 添加 < context:component-scan base-package="包名" > (输入com会联想到)
- 在相关类上添加注解:
注解: @Controller[标注在Action类上],@Service[标注在业务类上],@Repository,@Component[无法分辨层级,比如实体]
作用: 声明将当前类交给Spring容器管理.
扫描指定包中的类:
- Spring将扫描指定包中的类,默认扫描的类的Bean匿名为首字母小写的类名.
设置别名:
(设置别名一般用于注解方式的自动扫描,有两个相同名字的类出现时,设置别名以防冲突报错)
- 可以通过设置注解中的属性[通常为value属性],自定义别名.如 : @Component ( Value )

本文详细介绍了Spring框架中的控制反转IoC概念,包括四种实现方式:构造方法注入、工厂类静态方法注入、工厂类对象方法注入以及注解方式。注解方式中,通过添加`@Component`等注解,可以方便地将类交给Spring容器管理,并通过`@ComponentScan`进行组件扫描。此外,还提到了如何设置类的别名以避免命名冲突。
1327

被折叠的 条评论
为什么被折叠?



