
Spring
Blijiojiodibuliduo
学习笔记
展开
-
spring-使用外部属性文件
•在配置文件里配置 Bean 时, 有时需要在 Bean 的配置里混入系统部署的细节信息(例如: 文件路径, 数据源配置信息等). 而这些部署细节实际上需要和 Bean 配置相分离•Spring 提供了一个 PropertyPlaceholderConfigurer 的 BeanFactory 后置处理器, 这个处理器允许用户将 Bean 配置的部分内容外移到属性文件中. 可以在 Bean 配...原创 2019-02-21 16:38:38 · 132 阅读 · 0 评论 -
Spring AOP 前置通知、后置通知、返回通知和异常通知
前置通知•前置通知:在方法执行之前执行的通知•前置通知使用 @Before 注解, 并将切入点表达式的值作为注解值.@Aspect@Componentpublic class LoggingAspect { //声明该方法是一个前置通知,在目标方法开始之前执行 @Before("execution(public int com.qiqi.spring.aop.impl.Ari...原创 2019-02-25 14:56:16 · 2791 阅读 · 0 评论 -
Spring AOP
AOP 简介•AOP(Aspect-Oriented Programming, 面向切面编程): 是一种新的方法论, 是对传统 OOP(Object-Oriented Programming, 面向对象编程) 的补充.•AOP 的主要编程对象是切面(aspect), 而切面模块化横切关注点.•在应用 AOP 编程时, 仍然需要定义公共功能, 但可以明确的定义这个功能在哪里, 以什么方式...原创 2019-02-25 11:02:55 · 111 阅读 · 0 评论 -
Spring 对 JDBC 的支持
JdbcTemplate 简介•为了使 JDBC 更加易于使用, Spring 在 JDBC API 上定义了一个抽象层, 以此建立一个 JDBC 存取框架.•作为 Spring JDBC 框架的核心, JDBC 模板的设计目的是为不同类型的 JDBC 操作提供模板方法. 每个模板方法都能控制整个过程, 并允许覆盖过程中的特定任务. 通过这种方式, 可以在尽可能保留灵活性的情况下, 将数据...原创 2019-02-28 14:19:18 · 142 阅读 · 0 评论 -
Spring基于注解配置 Bean
在 classpath 中扫描组件•组件扫描(component scanning): Spring 能够从 classpath 下自动扫描, 侦测和实例化具有特定注解的组件. •特定组件包括:–@Component: 基本注解, 标识了一个受 Spring 管理的组件–@Respository: 标识持久层组件–@Service: 标识服务层(业务层)组件–@Contr...原创 2019-02-24 13:57:06 · 191 阅读 · 0 评论 -
Spring使用注解出现问题Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreExcept
Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [beans-annotation.xml]; nested exception i...原创 2019-02-24 10:12:02 · 20486 阅读 · 0 评论 -
实现 FactoryBean 接口在 Spring IOC 容器中配置 Bean
•Spring 中有两种类型的 Bean, 一种是普通Bean, 另一种是工厂Bean, 即FactoryBean. •工厂 Bean 跟普通Bean不同, 其返回的对象不是指定类的一个实例, 其返回的是该工厂 Bean 的 getObject 方法所返回的对象 代码示例:package com.qiqi.spring.beans.beanFacyory;public ...原创 2019-02-24 01:48:06 · 254 阅读 · 0 评论 -
通过调用静态工厂方法和实例工厂方法创建 Bean
通过调用静态工厂方法创建 Bean•调用静态工厂方法创建 Bean是将对象创建的过程封装到静态方法中. 当客户端需要对象时, 只需要简单地调用静态方法, 而不同关心创建对象的细节.•要声明通过静态方法创建的 Bean, 需要在 Bean 的 class 属性里指定拥有该工厂的方法的类, 同时在 factory-method 属性里指定工厂方法的名称. 最后, 使用 <constrct...原创 2019-02-22 23:13:46 · 623 阅读 · 0 评论 -
IOC 容器中 Bean 的生命周期方法
•Spring IOC 容器可以管理 Bean 的生命周期, Spring 允许在 Bean 生命周期的特定点执行定制的任务. •Spring IOC 容器对 Bean 的生命周期进行管理的过程:–通过构造器或工厂方法创建 Bean 实例–为 Bean 的属性设置值和对其他 Bean 的引用–调用 Bean 的初始化方法–Bean 可以使用了–当容器关闭时, 调用 Bean...原创 2019-02-22 22:14:57 · 149 阅读 · 0 评论 -
Spring表达式语言:SpEL
•Spring 表达式语言(简称SpEL):是一个支持运行时查询和操作对象图的强大的表达式语言。•语法类似于 EL:SpEL 使用 #{…} 作为定界符,所有在大框号中的字符都将被认为是 SpEL•SpEL 为 bean 的属性进行动态赋值提供了便利•通过 SpEL 可以实现:–通过 bean 的 id 对 bean 进行引用–调用方法以及引用对象中的属性–计算表达式的值...原创 2019-02-21 20:00:17 · 210 阅读 · 0 评论 -
指定切面的优先级&重用切入点定义
指定切面的优先级•在同一个连接点上应用不止一个切面时, 除非明确指定, 否则它们的优先级是不确定的.•切面的优先级可以通过实现 Ordered 接口或利用 @Order 注解指定.•实现 Ordered 接口, getOrder() 方法的返回值越小, 优先级越高.•若使用 @Order 注解, 序号出现在注解中重用切入点定义•在编写 AspectJ 切面时, 可以...原创 2019-02-26 11:28:27 · 293 阅读 · 0 评论