Spring简介
传统的资源访问方式:class A{ ... } class B{ A a = new A(); }
IOC (控制反转):类似工厂设计模式,容器主动将资源送给他管理的组件,组建要做的是选择一种合适的方式来接受资源。
DI(依赖注入),就是IOC,DI是IOC的一种实现方式。组件以一些seter方法接受来自容器的资源注入。
- ApplicationContext:接口。一种容器(工厂),可以加载配置文件中定义的bean。
- ClassPathXmlApplicationContext:接口实现类。定义该容器从xml文件中加载被定义的bean。
依赖注入
- setter注入,要求bean必须有空参构造以及setter方法。
- 构造函数注入,要求bean必须有有参构造。
- 注入值包含特殊符号,采取如下方式:<![CDATA][张&李]> 如图
- 在一个bean中引入其他bean <import resource="src路径" />
- 集合的值
bean的作用域
- 单例 <bean id="user1" class="bean.User" scope="le"> spring依赖注入时默认为单例
- 多例 <bean id="user1" class="bean.User" scope="prototype">
spring三层架构
- autowire="byName" 按照名字自动装配,注意类中属性名和bean的id命名相同。
- autowire="byType" 按照类型自动装配,注意如果spring配置文件中出现多个bean类型,则报错。
基于注解的配置
- spring配置文件中xmlns:context代表spring上下文相关的资源;
- xsi:schemaLocation声明目标名称的模式文档;