Spring入门

**

Spirng

**
设计层面框架,解决业务逻辑层与其他层面的松耦问题

七大模块:
1.SpringCore:Core封装包是框架的最基础部分,提供IOC(利用Java反射机制)和依赖注入特性。

2.Spring Context:构建于Core封装包基础的Context封装包,提供了一种框架式的对象访问方法,比如JNDI(JAVA命名系统接口)注册器。

3.SpringDao:对数据访问进行封装。

4.Spring ORM:提供了对象关系映射APIS的集成层。

5.Spring AOP:声明式事务(切点、方法拦截器)。

6.Spring web:Spring中的Web提供了基础的针对WEB开发的集成特性。

7.SpringWeb MVC:是一个Model-View-Controller Web框架。基于前端控制器Servel并发处理http请求并进行展示。

Spring数据源:
1.J2EE中JNDI
2.Spring的数据源实现类:DriverManagerDatasource、SimpleDriverDatasource、SingleConnectionDatasource
3.第三方数据源:C3P0数据源、apacheDBCP数据源
4.嵌入式数据源(用于测试)

Spring注解 (定义Bean和自动注入)
1.自动注入:
@Resources 默认是byname
@Autowired 默认是bytype
2.声明Bean定义
@Compoent 通用的
@Respositpry Dao层 返回JSON、XML或者定义mediatype
@Service 服务层 Web开发尽量使用
@Constroller 表现层 返回JSP

启动自动注入
对Bean进行扫描 <context:component-scan base-package=“包名”>

Spring 事务

Spring并不直接管理事务,而是提供了多种事务管理器,他们将事务管理的职责委托给Hibernate或者JTA等持久化机制所
提供的相关平台框架的事务来实现。

声明式事务与编程式事务
声明式事务管理使业务代码不受污染,一个普通的POJO对象,只要加上注解就可以获得完全的事务支持。和编程式事务相比,声明式事务唯一不足地方是,它的最细粒度只能作用到方法级别,无法做到像编程式事务那样可以作用到代码块级别。

传播行为
事务的第一个方面是传播行为(propagation behavior)。当事务方法被另一个事务方法调用时,必须指定事务应该如何传播。例如:方法可能继续在现有事务中运行,也可能开启一个新事务,并在自己的事务中运行。Spring定义了七种传播行为:
Spring入门
隔离级别
Spring入门