SpringIoC和DI知识点小结

1. 什么是IoC?

IoC:Inverse of Control,控制反转对象的创建权力由程序反转给Spring框架。

什么是DI?

DI:Dependency injection,依赖注入在Spring框架负责创建Bean对象时,动态的将依赖对象注入到Bean组件中。

2.什么是IoC容器(Spring容器)?

Spring容器指的就是IoC容器。要想使用SpringIoC,必须要先创建Spring IoC容器。。

IoC容器就是指的Spring中Bean工厂里面的Map存储结构(存储了Bean的实例)。

注:实现了ApplicationContext接口BeanFactory接口的工厂,可以获取到容器中具体的Bean对象,最终的底层BeanFactory都是DefaultListableBeanFactory

3.Spring IoC简单的demo(基于xml方式)

(1)创建一个简单的Maven工程,添加Spring相关依赖

 

(2)编写一个Spring配置文件,先添加文件头

(3)添加接口和方法

(4)编写实现类

(5)配置文件中添加bean实例的配置

(6)测试

4.实例化bean的三种方式

(1)默认无参构造函数(推荐)

(2)静态工厂

(3)实例工厂

5.依赖注入demo

(1)构造函数注入

注意,使用此方式,类中需要提供一个对应参数列表的构造函数。如下:

配置文件修改如下:

此时<constructor-arg>标签中name总用为指定参数在构造函数中的名称,value能赋的值是基本数据类型和String类型,ref能赋的值是其他bean类型,必须是在配置文件中配置过的bean

测试结果:

(2)set方法注入(基于xml)

6.IoC和DI常用的几个注解

IoC注解:

@Component    属性有value,指定bean的id,如果不指定value属性,默认bean的id是当前类的类名,首字母小写

@Controller(一般用于表现层)   

@Service(业务层)     

@Repository(持久层)

作用:把资源让Spring管理,相当于在XML中配置一个bean,相当于<bean id="" class="">

DI注解:

@Autowired  (默认按类型装配)相当于  <property name="" ref="">

 @Resource(默认按名称装配)相当于<property name="" value="">

以上这些只是最基本的一些概念和例子,具体深入的知识等研究源码后再来慢慢补充。

 

发布了16 篇原创文章 · 获赞 0 · 访问量 303

猜你喜欢

转载自blog.csdn.net/weixin_39764056/article/details/103197789