spring框架优势
spring框架IOC DI
spring框架JUnit整合
spring框架数据库整合, 事务处理
spring框架AOP
spring框架整合MyBatis
SSH: Struts2 Spring Hibernate
SSM: SpringMVC Spring MyBatis
降低程序耦合性
直接new对象, 当类不存在时, 代码就会编译错误 - 耦合性高
降低耦合性:
解决:
1.通过反射的方式, 传递的是类的全限定类名字符串
2.将全限定类名通过配置文件的方式读取到程序中
properties xml
配置文件写法: key = value
解决方案: 提供工厂类来解决, 单例模式
SpringIOC: Inversion Of Control 反转控制
使用spring框架:
1.依赖jar包 spring-context
2.配置文件 <bean id class>
3.使用核心容器 ApplicationContext getBean
spring核心容器管理[创建]对象的三种方式
1.直接调用构造器
2.静态工厂
a.准备一个工厂类
b.工厂类中提供一个静态方法 - 获得User对象
c.容器中注册
<bean id="user1" class="com.zzxx.factory.UserFactory"
factory-method="getInstance"/>
3.工厂方法
a.准备一个工厂类
b.工厂类中提供一个成员方法 - 获得User对象
c.容器中注册
<bean id="user2" class="com.zzxx.domain.User"
factory-bean="factory" factory-method="init"/>
<bean id="factory" class="com.zzxx.factory.UserFactory"/>