`
only_java
  • 浏览: 110309 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
阅读更多

经过近一个月对spring的学习,总结下对于spring一些核心的东西:

1.DI(spring 依赖注入)

     这章算是spring里面最简单的东西了,不过对于高级Bean的装配还是得去研究研究。

     主要运用的原理是:通过JAVA的反射原理构造实例

 

2.AOP(面向切面编程)

   这个是难点,但基本的概念还是比较好理解的。但是对于aop的实际运用还是比较少的。把握好了aop对于spring事务处理和spring modules实现缓存的理解很有帮助,因为他们都使用了aop

   主要运用原理:动态代理

 

3.Template(jdbcTemplate,hibernateTemplate)

   这个也是基本的东西了,系统的持久层,简化数据访问。首先配置数据源,然后配置一个模板(jdbcTemplate或其他),将数据源注入给模板,再配置一个Dao,将模板注入给Dao。这就可以在Dao中使用模板了,当然还可以使用Dao支持类。

 

4.cache(缓存,主要是:使用springmodlues来管理ehcache)

  这是利用aop原理实现的,但发现测试的时候有个BUG。博客里也有相关文章

 

5.事务管理(transaction manager)

   这也是利用aop原理实现的,基本的步骤为:将数据源(datasource)注入到一个事务管理器(如:jdbc.datasource....)

,然后为事务目标(target)创建代理.要注意的是:事务目标必须实现某个接口 (AOP中的一种动态代理方式,通过cglib不知道怎么实现!)。代理中有几个属性:1.事务目标;2.代理接口(目标实现的接口);3.事务管理器;4.事务规则,边界;当然常用的还是注解驱动式和<tx:advice>方式。这里面当然最重要的还是要理解事务的概念,如:脏读,不可重复读,幻读等,传播行为那些定义。对我理解这些概念帮助比较大是javaeye 论坛中一些大牛的帖子,在收藏里面有!有时间还得去读读。

 

6.DAO的设计

   这个好像分歧比较大,在javaeye的论坛中讨论也很多。

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics