文章目录
1.Spring
Spring框架是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。
Spring解决了开发者在J2EE开发中遇到的许多常见的问题,提供了功能强大IOC、AOP及Web MVC等功能。Spring可以单独应用于构筑应用程序,也可以和Struts、Webwork、Tapestry等众多Web框架组合使用,并且可以与 Swing等桌面应用程序AP组合。因此, Spring不仅仅能应用于JEE应用程序之中,也可以应用于桌面应用程序以及小应用程序之中。Spring框架主要由七部分组成,分别是 Spring Core、 Spring AOP、 Spring ORM、 Spring DAO、Spring Context、 Spring Web和 Spring Web MVC。
小结: Spring由Rod Johnson研发,Spring框架是针对bean的生命周期进行管理的轻量级容器。其中核心技术 IOC和AOP。
2.IOC
Ioc全称Inversion of Control,即“控制反转”,这是一种设计思想。对象创建的权利由Spring框架完成,由容器管理对象的生命周期。
小结:
- 原来的对象的创建都是由用户自己手动创建,这样的方式耦合性肯定高,如果类发生了变化,则代码都得修改。
- 现在所有的对象都交给Spring容器管理. 用户无需关心对象是如何实例化. 容器负责对象的注入即可. 以后几乎不用修改任何代码. 降低了代码的耦合性。
2.1 什么是IOC
由Spring容器管理对象的生命周期,降低代码耦合性
2.2 xml配置文件管理对象
1.准备xxx.xml配置文件
2.准备bean标签
3.spring容器管理对象
ApplicationContext 容器顶级接口
ClassPathXmlApplicationContext 加载配置文件的实现类对象
2.3 全注解的方式管理对象
1.准备配置类 @Configuration + @Bean
2.要求方法 必须有返回值
3.容器对象
ApplicationContext容器顶级接口
AnnotationConfigApplicationContext
万能语法: 根据当前spring的配置规则,实例化接口对象. 我一般不写这些代码,如果想看也可以通过ApplicationContext 查找指定的实现类。
3.Spring创建对象-工厂模式(必会内容)
Calendar 该类是一个抽象类 所以不能直接实例化。
创建工厂模式:
package com.jt.factory;
import org.springframework.beans.factory.FactoryBean;
import org.springframework.stereotype.Component;
import java.util.Calendar;
/**
* FactoryBean是Spring提供的接口,spring自动完成调用.获取指定的对象
* 难点讲解:
* 1.@Component 标识类 则将该类交给Spring容器管理.
* 2.Spring中FactoryBean的讲解
* 如果spring加载的时候遇到FactoryBean接口
* 则会自动的执行重写的方法getObject/getObjectType
* 3.工厂模式说明:
* Map<Key:calendar,value=Calendar对象></>
*
* 核心功能:
* 1. key: 就是当前类型(如果自己编辑注解以注解为准)
* 2. value: 调用getObject获取的返回值对象
* 将上述的数据,交给Spring容器管理
* 该功能什么时候使用:
* 1. 某些对象不能直接实例化的.
* 2. 整合其它第三方框架对象时 经常使用.
*/
@Component("calendar")
public class CalendarFactory implements FactoryBean<Calendar>