浅谈spring——引言(一)

引言

做开发已有几年光景,随着项目的不断深入,对spring的了解也越来越多,深深为spring的灵活设计、强大功能所折服。以下内容是开发过程中的一些心得体会,可能会有些杂乱,希望对你有所帮助


spring是Java EE应用一站式的轻量级开源框架,以IOC(Inverse of Control)控制反转和AOP(Aspect Oriented Programming)面向切面的编程为核心。

贯彻并遵守“好的设计优于具体实现”。

优点:

1. 耦合性低。之前类对象与类对象之间的调用完全是通过硬编码来实现;而spring则是利用java的多态性,将这种依赖关系定义在配置文件中,交由spring控制,可以有效避免硬编码造成的代码过度耦合。

2. AOP支持,可以方便的进行切面编程,不会侵入原来的业务代码。广泛应用于性能监控、统计、权限控制等

3. 对事务处理作了封装,采用声明式灵活管理事务,极大提高开发效率

4.方便集成各种开源框架(如struts,ibatis,quartz)

5. api简单,可以快速入门


低版本的spring配置采用DTD格式,spring2.0引入XML Schema格式,提供了不同的命名空间,可以有效的规范了Bean的格式。

常用的模式:单例(singleton)与原型(prototype)


spring是一个多层的java EE开发框架,引用了很多开源项目包并做了兼容,涵盖面很广。常见的三方库如:Hibernate,iBatis,Velocity,Struts,DOM4j,asm,cglib,junit,log4j等


 由于spring的广泛使用,很多开源组织开发了多个面向spring应用的子项目,可以解决各种领域的问题,比较实用的如:

Acegi Security:提供安全认证服务和程序资源访问控制

Spring BeanDoc:可以以图形的方式快速生成描述spring配置文件的bean关系。


注:利用spring开发项目时,由于依赖关系都是定义在配置文件中,为了方便管理,最好按层(表现层、业务逻辑层、数据层)分类,为每一层提供一个单独的配置文件。

持久层负责数据的访问和操作,被业务逻辑层所调用,其包结构通常如下:


daointerface:存放操作数据库的各种接口

ibatis:接口的实现类

dataobject:实体类,代表业务的状态。通常要求:1)序列化 2)无参构造器 3)get/set方法

param:接口的参数类(增、删、改、查)


web.xml 配置文件

<context-param>
	<param-name>contextConfigLocation</param-name>
	<param-value>classpath:aa-dao.xml,classpath:bb-service.xml</param-value>
</context-param>
<listener>
	<listener-class>
		org.springframework.web.context.ContextLoaderListener
	</listener-class>
</listener>

spring定义了一个web容器监听器ContextLoaderListener,当监听到web容器启动时会自动启动,同时加载contextConfigLocation里配置的文件,启动spring容器,并初始化各种bean,建立关系。注意将log4j.xml文件配置在类路径下,以便日志引擎自动生效。



  • 7
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值