Spring
-dzy-
国子先生晨入太学,招诸生立馆下,诲之曰:“业精于勤,荒于嬉;行成于思,毁于随。”
展开
-
Spring预备
1.Spring:简介轻量级:Spring 是非侵入性的 - 基于 Spring 开发的应用中的对象可以不依赖于 Spring 的 API依赖注入(DI --- dependency injection、IOC)面向切面编程(AOP --- aspect oriented programming)容器: Spring 是一个容器, 因为它包含并且管理应用对象的生命周期框架: Spring 实现了使...原创 2018-04-09 11:06:53 · 146 阅读 · 0 评论 -
Spring对 JDBC 的支持
引用的外部jar包aspectj-1.8.13.jarc3p0-0.9.5.2.jarcommons-logging-1.2.jarmchange-commons-java-0.2.11.jarmysql-connector-java-5.1.41-bin.jarspring-aop-4.3.2.RELEASE.jarspring-beans-4.3.2.RELEASE.jarspring-con...原创 2018-04-09 16:13:05 · 411 阅读 · 0 评论 -
SpringAOP
越来越多的非业务需求(日志和验证等)加入后, 原有的业务方法急剧膨胀. 每个方法在处理核心逻辑的同时还必须兼顾其他多个关注点 1. 使用动态代理解决代理设计模式的原理: 使用一个代理将对象包装起来, 然后用该代理对象取代原始对象. 任何对原始对象的调用都要通过代理. 代理对象决定是否以及何时将方法调用转到原始对象上JDK Mainpackage com.spring.aop.hellow...原创 2018-04-09 16:12:57 · 353 阅读 · 0 评论 -
Spring 4.x 新特性:泛型依赖注入
Spring 允许通过<import> 将多个配置文件引入到一个文件中,进行配置文件的集成。这样在启动 Spring 容器时,仅需要指定这个合并好的配置文件就可以。import 元素的 resource属性支持 Spring 的标准的路径资源Mainpackage com.spring.beans.generic.di;import org.springframework.con...原创 2018-04-09 16:12:49 · 242 阅读 · 0 评论 -
基于注解配置 Bean
1. 在 classpath 中扫描组件组件扫描(component scanning): Spring 能够从 classpath 下自动扫描, 侦测和实例化具有特定注解的组件. 特定组件包括:@Component: 基本注解, 标识了一个受 Spring 管理的组件@Respository: 标识持久层组件@Service: 标识服务层(业务层)组件@Controller: 标识表现...原创 2018-04-09 16:12:41 · 264 阅读 · 0 评论 -
Bean 的配置方式:FactoryBean
实现 FactoryBean 接口在Spring IOC 容器中配置 Bean:Spring 中有两种类型的Bean, 一种是普通Bean, 另一种是工厂Bean, 即FactoryBean. 工厂 Bean 跟普通Bean不同, 其返回的对象不是指定类的一个实例, 其返回的是该工厂 Bean 的 getObject 方法所返回的对象Mainpackage com.spring.beans.fac...原创 2018-04-09 16:12:27 · 206 阅读 · 0 评论 -
Bean 的配置方式:通过工厂方法(静态工厂方法 & 实例工厂方法)
1. 通过调用静态工厂方法创建Bean调用静态工厂方法创建 Bean是将对象创建的过程封装到静态方法中. 当客户端需要对象时, 只需要简单地调用静态方法, 而不同关心创建对象的细节.要声明通过静态方法创建的 Bean, 需要在 Bean 的 class 属性里指定拥有该工厂的方法的类, 同时在 factory-method 属性里指定工厂方法的名称. 最后, 使用<constrctor-ar...原创 2018-04-09 14:16:54 · 379 阅读 · 0 评论 -
Spring中bean的配置
1.IOC&DIIOC(Inversion ofControl):其思想是反转资源获取的方向.容器主动地将资源推送给它所管理的组件, 组件所要做的仅是选择一种合适的方式来接受资源. 这种行为也被称为查找的被动形式。DI(DependencyInjection) — IOC 的另一种表述方式:即组件以一些预先定义好的方式(例如: setter 方法)接受来自如容器的资源注入。2.在 Spri...原创 2018-04-09 14:14:01 · 213 阅读 · 0 评论 -
bean 之间的关系:继承;依赖
1.继承 Bean 配置被继承的 bean 称为父 bean.继承这个父 Bean 的 Bean 称为子 Bean子 Bean 从父 Bean 中继承配置, 包括 Bean 的属性配置,子Bean 也可以覆盖从父 Bean 继承过来的配置父 Bean 可以作为配置模板, 也可以作为 Bean 实例并不是 <bean> 元素里的所有属性都会被继承. 比如: autowire, abstr...原创 2018-04-09 14:13:47 · 226 阅读 · 0 评论 -
bean 的作用域:singleton;prototype;WEB 环境作用域
<bean> 元素的scope 属性里设置 Bean 的作用域.默认情况下, Spring 只为每个在IOC 容器里声明的 Bean 创建唯一一个实例, 整个 IOC 容器范围内都能共享该实例:所有后续的 getBean() 调用和 Bean 引用都将返回这个唯一的 Bean 实例.该作用域被称为 singleton, 它是所有 Bean 的默认作用域.Mainpackage com....原创 2018-04-09 14:13:20 · 255 阅读 · 0 评论 -
使用外部属性文件
在配置文件里配置 Bean时, 有时需要在 Bean 的配置里混入系统部署的细节信息(例如: 文件路径, 数据源配置信息等). 而这些部署细节实际上需要和 Bean 配置相分离Spring 提供了一个PropertyPlaceholderConfigurer 的 BeanFactory 后置处理器, 这个处理器允许用户将 Bean 配置的部分内容外移到属性文件中. 可以在 Bean 配置文件里使...原创 2018-04-09 11:10:07 · 189 阅读 · 0 评论 -
Spring表达式语言:SpEL
1.Spring 表达式语言(简称SpEL):是一个支持运行时查询和操作对象图的强大的表达式语言。语法类似于 EL:SpEL 使用 #{…} 作为定界符,所有在大框号中的字符都将被认为是 SpELSpEL 为 bean 的属性进行动态赋值提供了便利2.通过 SpEL 可以实现:通过 bean 的 id 对 bean 进行引用调用方法以及引用对象中的属性计算表达式的值正则表达式的匹配 3.字面量的...原创 2018-04-09 11:09:50 · 181 阅读 · 0 评论 -
IOC 容器中 Bean 的生命周期
1. Bean 的生命周期Spring IOC 容器可以管理Bean 的生命周期, Spring 允许在 Bean 生命周期的特定点执行定制的任务. Spring IOC 容器对 Bean的生命周期进行管理的过程:通过构造器或工厂方法创建 Bean 实例为 Bean 的属性设置值和对其他 Bean 的引用调用 Bean 的初始化方法Bean 可以使用了当容器关闭时, 调用 Bean 的销毁方法在 ...原创 2018-04-09 11:09:33 · 198 阅读 · 0 评论 -
自动装配
Spring IOC 容器可以自动装配Bean.在 <bean> 的 autowire 属性里指定自动装配的模式byType(根据类型自动装配): 若 IOC 容器中有多个与目标 Bean 类型一致的 Bean. 在这种情况下, Spring 将无法判定哪个 Bean 最合适该属性, 所以不能执行自动装配.byName(根据名称自动装配): 必须将目标 Bean 的名称和属性名设置的完...原创 2018-04-09 11:08:07 · 222 阅读 · 0 评论 -
spring 中的事务管理
事务的四个关键属性(ACID)原子性(atomicity): 事务是一个原子操作, 由一系列动作组成. 事务的原子性确保动作要么全部完成要么完全不起作用.一致性(consistency): 一旦所有事务动作完成, 事务就被提交. 数据和资源就处于一种满足业务规则的一致性状态中.隔离性(isolation): 可能有许多事务会同时处理相同的数据, 因此每个事物都应该与其他事务隔离开来, 防止数据损...原创 2018-04-09 16:13:15 · 398 阅读 · 1 评论