a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 91|回复: 0

[基础知识] JAVA基础:spring的特性分析

[复制链接]
发表于 2012-8-4 12:37:27 | 显示全部楼层 |阅读模式
我对spring的一些了解   通过前一阵对spring的使用后,有对他有了进一步的了解,   下面就对spring说一下把,有什么不同意见的,希望大家一起探讨。( J/ u. l4 i. C# M
  第一,spring框架他是一个分层的框架:# \! K4 U; ]! M% L  G
  其实spring并不是一个“要么全部,要么没有”的一体化的系统,他是一个分层的结构,
( ?' I2 h0 W+ G3 V1 \1 O2 @) V  我认为这样对于刚学习spring的有很大的好处,这样我们可以从中选择感兴趣的部分来学习,而不必理会其他部分啦,
  g* x, N! O( j7 W1 v  而我们常用的部分就是spring的IOC部分(也就是IOC的配置框架),而对于其上的mvc,orm,dao等等,我们可以并不了解,但这丝毫并不影响我们对IOC的具体应用啦,3 g9 b' A: o5 e  @) U+ S
  第二,spring框架的架构特性( N. d! k2 Q9 r5 V+ E
  分层架构-----各个部分都是相互独立的,这正体现啦spring的以灵活性为主要得特点,各个部分组合以后就可以提供一个全面的解决方案-------从数据访问层到表示层都提供了相应的技术支持,3 p! [% V7 C) g  T- O
  尽管全面但在具体的技术实现时则遵守“不重新发明轮子”的理念----比如它也提供了数据库访问机制,但是它的数据访问机制可以是基于JDBC、Hibernate和JDO的。“重用和再包装”的思路充满了整个Spring框架。( {  y1 O% m$ R& D" |6 _2 y/ r3 F
  第三,spring框架的七个模块的功能说明:- Q' A& B2 Y# r9 W; H4 W- x
  组成spring框架的每个模块都可以独立存在,或者和其他一个或者几个模块联合实现,每个模块的功能如下:3 @; w" R: W- n1 _' C$ c! p
  (1)核心容器(spring core)! ?6 M4 c1 a7 k7 A; ~1 G/ F
  (2)spring的面向方面编程(spring aop)
7 p9 Q/ a$ T; ]; V6 q' [5 @" P1 C  (3)spring上下文(spring context)% @( {2 J3 r( G) W( e  v# O3 M* ]8 D8 T
  (4)spring JDBC dao 抽象层(spring dao)' {! N! g6 z2 Z9 _+ ]$ x
  (5)spring orm对象关系工具(spring orm)
! Q% D! }3 t" u) J* g  (6)spring web 模块(spring web)" N+ k5 R# I+ g4 P/ ~3 q
  (7)spring mvc 框架(spring mvc)
% [( {1 T7 n/ z2 q: g! x2 r. t  第四,spring是一个非侵入性的轻量级框架* I3 p! C/ D) K
  (1)“非侵入式”的体现
0 P4 C  K: j( @- s/ ?# d: M  允许在应用系统中自由地选择和组装Spring的各功能模块,并且不强制要求应用中的类必须从Spring 的系统API中的某个类来继承或者实现某个接口。
2 c$ o8 A, r- `  同时也还提供和其它框架集成的接口,如与Hibernate、Struts 的集成等;6 W& Y4 `7 m8 e+ F1 Z$ w3 E
  (2)如何达到“非侵入式”的设计目标
, k* k! [" u' t6 w9 E/ m  应用Java 的Reflection机制
  l, ^. n: s3 A5 n" w  并配合使用Spring中的核心的BeanWrapper和BeanFactory类组件---实现对象的创建和属性注入. M) Y' N# o  K, s& g: d2 c5 ]
  (3)“非侵入式”的优点
+ e2 z4 X9 f- l3 M( K: F  允许所开发出的应用系统能够在不同的环境中移植
8 M/ O% p0 F0 X$ j: n' s  y/ |  (4)“侵入式”的主要体现如下
! Y& l; r: g7 ]  要求应用系统必须遵循约定
3 J6 v' l) {% J1 }/ u  要求应用系统继承特定框架基类或者实现特定框架接口
* t7 v' m9 L$ `; {5 V) Y9 w  要求应用系统标注Annotation(它解决的是delcarative programming这一部分。语法漂亮了。但是我们还是要引入框架要求的annotation类型)- i- z. i9 h; R$ E' B) ?3 H
  要求应用系统编写配置文件
* g1 Z5 I6 X4 e4 I0 S$ _3 l  要求应用系统调用框架API
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-6 11:27 , Processed in 0.453693 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表