SSM框架---Spring

来源:互联网 发布:乱斗西游2vip价格淘宝 编辑:程序博客网 时间:2024/05/24 04:16

1.什么是Spring.

Spring是一个开源的用于简化采用Java语言开发企业级程序的一个分层的框架。

Spring容器负责生成、组装、销毁组件,并负责事件处理、国际化等功能

注:核心

A>底层核心;Bean工厂

B>IOC:依赖注入,控制反转

  AOP:面向切面工程

2.Spring底层。

Spring是一个分层的模块容器,分为七个模块。

spring核心容器(Core)

spring上下文

springAOP

SpringDAO

SpringORM

springWeb支持struts集成

springMVC自带的mvc框架

请自行了解者七个模块具体是什么。

3.Spring作用(为什么使用Spring

1:降低组件之间的耦合度,实现各层之间的解耦
2:可以使用容器提供的众多服务。如:
--事务管理服务
--JMS
--Spring core核心服务
--持久化服务
--其他
3:提供了单例模式支持。开发人员不需要自己编写实现代码
4:提供了AOP技术。实现如:权限拦截,运行监控等功能
5:提供了众多的辅助类。如JDBC Template,HIbernate Template
6:对主流的应用框架提供了集成支持。集成Struts,JPA,Hibernate

4.spring实现的2种设计模式

单态模式:接受容器管理的bean,默认采用单态模式管理。

工厂模式:spring就是实例化和管理全部bean的工厂。spring的上下文也就是工厂,也被设计成单态的.

5.Spring实例化bean的三种方式
1:默认使用类加载器
2:使用静态工厂方法实例化bean对象
<bean id="名称" class="工厂类" factory-method="工厂类中创建bean实例的方法"/>
3:使用实例工厂方法实例化bena对象
<bean id="实例工厂名称" class="工厂类的路径"/>
<bean id="名称"  factory-bean="实例工厂名称" method="实例工厂里边的创建bena对象的方法"/>

6.Spring的生命周期 
bean的实例化:
1:当作用域范围为singleton时,在初始化Spring容易的时候实例化bean实例。
---1:如果lazy-init的值为true,则为延迟bean的实例化,即在Spring容器启动时不实例化bean的对象
2:当作用域范围为prototype时,在调用Spring的getBean的方法时实例化bean对象

注入依赖对象可以采用手工装配或者自动装配,在实际应用中建议采用手工装配。因为自动装配会产生未知情况,开发人员无法预见最终的装配结果。

7.IOC

1.利用JAVA中反射机制(请自行查阅书籍)

2.IOC三种注入方式:

A>setter注入:

 

 

  (1)注入简单属性(String8中基本类型)

  (2) 注入对象

  (3) 注入集合类型Set,Map,List,Properties

2、consctructor注入

3、接口注入

8.AOP

AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP采取横向抽取机制,取代了传统纵向继承体系重复性代码,使用springAOP完成功能:性能监控、事务管理、日志记录、缓存等.

1、 代理的两种方式: 
静态代理: 
l 针对每个具体类分别编写代理类; 
l 针对一个接口编写一个代理类; 
动态代理: 
针对一个方面编写一个InvocationHandler,然后借用JDK反射包中的Proxy类为各种接口动态生成相应的代理类

9spring原理如何去讲,把上面的东西加到里面讲

      内部最核心的就是IOC了,动态注入,让一个对象的创建不用new了,可以自动的生产,这其实就是利用java里的反射,反射其实就是在运行时动态的去创建、调用对象,Spring就是在运行时,跟xml Spring的配置文件来动态的创建对象,和调用对象里的方法的 。  
      Spring还有一个核心就是AOP这个就是面向切面编程,可以为某一类对象进行监督和控制(也就是 在调用这类对象的具体方法的前后去调用你指定的 模块)从而达到对一个模块扩充的功能。这些都是通过  配置类达到的。  
      Spring目的:就是让对象与对象(模块与模块)之间的关系没有通过代码来关联,都是通过配置类说明管理的(Spring根据这些配置 内部通过反射去动态的组装对象)  
      要记住:Spring是一个容器,凡是在容器里的对象才会有Spring所提供的这些服务和功能。  
Spring里用的最经典的一个设计模式就是:模板方法模式。(这里我都不介绍了,是一个很常用的设计模式) Spring里的配置是很多的,很难都记住,但是Spring里的精华也无非就是以上的两点,把以上两点跟理解了 也就基本上掌握了Spring.

 

 

 

 

 

 

 

原创粉丝点击