Spring Framwork
1. 核心概念
1.1 IoC控制反转
inversion of control控制反转 使用对象是主动由外部提供对象,此过程对象创建控制权由程序转移到外部。
Spring 提供IoC容器,用来充当IoC思想中的外部。负责创建和初始化等工作,被创建的对象再IoC容器中成为Bean。
1.2 DI 依赖注入
在容器汇总建立bean 和bean 之间的依赖关系的整个过程,称为依赖注入。
使用IoC容器管理Bean,对容器内有依赖关系的进行DI。
2 IoC入门案例
1.管理什么?–Service 和 Dao
2. 如何将管理的对象告知IoC容器?–配置
3. 被管理的对象交给IoC容器如何获取IoC容器–接口
4. IoC容器得到后,如何取出Bean–接口方法
5. 使用Spring在pom.xml导入哪些坐标
3.依赖注入
setter注入
构造器注入
<bean id="bookDao1" class="com.mycom.dao.impl.BookDaoImpl" scope="singleton"
init-method="init" destroy-method="destory">
<constructor-arg name="bookName" value="小王子"/>
</bean>
<bean id="bookService" name="dao bookService2" class="com.mycom.service.impl.BookServiceImpl">
<!--当前bean 属性 name 配置那一属性类名 ref 参考哪一个bean-->
<property name="BookDao" ref="bookDao1"/>
</bean>
自动装配尽量使用类型自动装配解耦程度高,但是实现类配置文件需要单一
<!--按类型自动装配byType 和 按名字byName 需要依赖的类型和配置文件id一样-->
<bean id="bookService" name="dao bookService2" class="com.mycom.service.impl.BookServiceImpl"
autowire="byType">
</bean>
集合注入
<bean id="bookDao" class="com.mycom.dao.impl.BookDaoImpl">
<property name="array"> <!--set注入格式property-->
<array>
<value>1</value>
<value>2</value>
</array>
</property>
<property name="list">
<list>
<value>itcast</value>
<value>23</value>
</list>
</property>
<property name="map">
<map>
<entry key="country" value="1"/>
</map>
</property>
</bean>
xml和注解开发
AOP
AOP(Aspect oriented programming) 面向切面编程,一种编程范式,指导开发者如何提供程序组织结构,oop面向对向编程。
不改变原始设计的基础上为其进行功能增强。
无入侵