[读书笔记] 精通Spring 2.x - 企业应用开发详解


Spring核心技术

IOC容器概述


Spring容器高级主题

Spring容器技术内幕

Spring的 AbstractApplicationContext 是 AppliactionContext 抽象实现类, refresh()内部的逻辑是
//初始化BeanFactory, getBeanFactory由子类实现,只是把信息装入容器
configurableListableBeanFactory beanFactory = getBeanFactory();

//调用工厂后处理器:根据反射从 BeanDefinitionRegistry 中找出所有 BeanFactoryPostProcessor  类型的Bean,注册到容器Bean 后处理器的注册表中
invokeBeanFactoryPostProcessors();

//初始化信息源, 国际化信息资源
initMessageSource();

//初始化应用上下文事件广播器
initApplicationEventMulticaster();

//初始化特殊Bean,钩子方法,子类用来初始化特殊操作
onRefresh();

//注册事件监听器
registerListeners();

//初始化singleton的Bean
beanFactory.preInstantiateSingletons();

//发布上下问刷新事件,创建上下文刷新事件,事件广播器负责将这些事件广播到每个注册的事件监听器中
publishEvent(new ContextrefreshedEvent(this));


SpringAOP基础

CGLib动态代理

CGLib采用非常低层的字节码技术,可以为一个类创建子类。以下是一个动态切入性能监控的例子
public class CglibProxy implements MethodInteceptor{
  private Enhancer enhancer = new Enhancer();
  public Object getProxy(Class clazz){
    enhancer.setSuperclass(clazz);
    enhancer.setCallback(this);
    return enhancer.create();
  }
  public Object interept(Object obj, Method method, Object[] args, MethodProxy proxy) throws Throwable{
    PerformanceMonitor.begin(obj.getClass().getName()+"."+method.getName());
    Object result = proxy.invokeSuper(obj, args);
    PerformanceMonitor.end();
    return result;
  }
}

我们来测试一下
CglibProxy proxy = new CglibProxy();
ForumServiceImpl impl = (ForumServiceImpl)proxy.getProxy(ForumServiceImpl.class);
forumService.removeForum(10);

//输出
//begin monitor...
//模拟删除Forum记录:10
//end monitor...


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
图书简介<br>本书分为6大部分,其中第一部分为Spring概述性知识;第二部分讲解了Spring框架核心技术的内容;第三部分涵盖了在Spring中使用各种数据访问技术的内容;第四部分讲解业务层各种技术的知识;第五部分是展现层技术的知识;第六部分讲解了如何测试Spring应用和Spring各种工具类的知识。 全书深刻揭示了Spring的技术内幕,对IoC、AOP、事务管理等根基性的技术进行了深度的挖掘。读者阅读本书后,不但可以熟练使用Spring的各项功能,对各种Spring内部机制也将了然于胸,真正做到知其然知其所以然。此外,我们还对Spring技术所涉及到的各种Java技术、Java设计模式进行了适时的介绍,通过这些背景知识的准备,读者在理解Spring的各项原理时将不会有任何的障碍。 <br>========================================================================<br><br>第1篇 概述<br>第1章 Spring概述<br>第2章 快速入门<br>第2篇 Spring核心技术<br>第3章 IoC容器概述<br>第4章 在IoC容器中装配Bean<br>第5章 Spring容器高级主题<br>第6章 Spring AOP基础<br>第7章 基于@AspectJ和Schema的<br>第7章 AOP<br>第3篇 数据库访问<br>第8章 Spring对DAO的支持<br>第9章 Spring的事务管理<br>第10章 使用Spring JDBC访问数据库<br>第11章 使用JPA访问数据库<br>第12章 整合其他ORM框架<br>第4篇 业务层应用<br>第13章 任务调度和异步执行器<br>第14章 JavaMail发送邮件<br>第15章 在Spring中使用JMS<br>第16章 在Spring中开发Web Service<br>第17章 使用Acegi实施应用系统安全<br>第18章 动态语言支持<br>第5篇 展现层应用<br>第19章 Spring MVC之一<br>第20章 Spring MVC之二<br>第21章 集成其他Web框架<br>第6篇 其他<br>第22章 Spring应用的测试<br>第23章 Spring工具类盘点<br>附录A 各种数据库连接配置及驱动<br>附录B IDE开发环境设置 <br>=================================================<br>注意:全书章节过大,分为3部分上传。请下载其余两部分。<br>Apple祝您学习Spring愉快。<br>老规矩:有分的的给评分,每分的给顶一下。免费发放

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值