一、Spring 是一个框架,他包含SpringData、Spring Framework等开发框架,Spring是一个分层(javaee将web开发分为四层:客户端(client),表现层(web),业务层(business),持久层或集成层(EIS))的一站式开发框架。
二、Spring核心内容为IOC (inverse of control)和AOP (Aspect Oriented programming) 。
三、Spring优点:方便解耦,简化开发(Spring管理所有对象的创建和依赖关系维护);AOP的切面编程(可以方便实现对程序进行权限拦截,运行监控);声明式事务的支持(只需要配置就可以管理事务,而无需手动编程)
四、IOC思想:在项目中引入一个工厂容器,该容器是对项目中接口依赖对象的创建,从而实现项目中依赖对象的解耦和。(即将程序中对象的创建权,交个工厂容器来管理)
五、IOC运行原理:Spring使用工厂类读取配置文件(applicationContext.xml)中的实现,将获取到的实现通过反射进行对象的创建。
六、Spring配置文件中的类在Spring加载时会将所有配置中的类进行对象的创建(实例化方式是通过工厂获取配置文件中的类路径,在通过反射进行对象的创建。)
七、bean实例化的三种方式,(即bean在配置文件中进行实例化的三种方式)。
1..默认无参构造器进行实例化。实例化的类不能覆盖该类的无参构造方法即可。在配置文件中直接通过bean的配置可以将该类通过无参构造方法进行实例化。
2..静态工厂方法。实例化类的工厂类提供一个静态方法,该静态方法用来返回new 的对象。在配置文件中额外添加配置factory-method指定静态方法名称。并将类路径指向工厂类
3...实例化工厂方法。实例化类的工厂类提供一个方法,该方法创建并返回该实例化的对象。在配置文件中配置该工厂的bean,并且额外将该工厂bean和工厂实例化方法配置到另一个bean中。