免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1112 | 回复: 0
打印 上一主题 下一主题

初识Spring [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-01-16 21:38 |只看该作者 |倒序浏览


转载于:
http://blog.chinaunix.net/u/25102/showart_187024.html
将spring.jar包放入工程
.xml位于工作路径之下,.project文件所在的目录
spring优点
1:我们的所有程序代码中,并没有出现Spring中的任何组件,无侵入性
2:属性均由Spring通过读取配置文件(bean.xml)动态设置
3:客户代码(这里就是我们的测试代码)仅仅面向接口编程,而无需知道实现类的具体名称。同时,我们可以很简单的通过修改配置文件来切换具体的底层实现类。
spring好处:
1:我们的组件并不需要实现框架指定的接口,因此可以轻松的将组件从Spring中脱离,甚至不需要任何修改(这在基于EJB框架实现的应用中是难以想象的)。方便转移到其他框架中去.
2:组件间的依赖关系减少,极大改善了代码的可重用性.Spring的依赖注入机制,可以在运行期为组件配置所需资源,而无需在编写组件代码时就加以指定,从而在相当程度上降低了组件之间的耦合。动态配置所需属性!实现了组件真正意义上的即插即用。这也是Spring最具价值的特性之一。
3:面向接口编程:,即使没有Spring,实现面向接口的设计也不困难.
例如:人员的增删改查Person
建立Person的POJO(Plain Old Java Object):
class PersonBO{}
建立Person的DAO接口:
interface PersonDAO{增删改查}
建立Person的abstract class PersonDAOFactory:
abstract class PersonDAOFactory{
static PersonDAOFactory getInstance()
{
读取数据库文件*.properties的dbname,jndi,transactionIsolation;
return (PersonDAOFactory)PersonOracleDAOFactory的实例;(符合properties文件)
}
public abstract PersonDAO getPersonDAO();
}
建立Person的OracleDAO:
class PersonOracleDAO implements PersonDAO{增删改查实现}
建立Person的OracleDAOFactory:
class PersonOracleDAOFactory extends PersonDAOFactory
{
PersonDAO getPersonDAO()
{
  return new PersonOracleDAO();
}
}
关系:

interface PersonDAO              PersonDAOFactory
        |                               |
        |                               |
        |                               |
        |                               |
class PersonOracleDAO
      Spring Quick Start
      
           
               HeLLo
           
      
(请确保配置bean.xml位于工作路径之下,注意工作路径并不等同于CLASSPATH ,eclipse
的默认工作路径为项目根路径,也就是.project文件所在的目录,而默认输出目录/bin是项目CLASSPATH的一部分,并非工作路径。)
4. 测试代码
public void testQuickStart() {
ApplicationContext ctx=new
FileSystemXmlApplicationContext("bean.xml");
Action action = (Action) ctx.getBean("TheAction");
System.out.println(action.execute("Rod Johnson"));
}
可以看到,上面的测试代码中,我们根据"bean.xml"创建了一个ApplicationContext实
例,并从此实例中获取我们所需的Action实现。
SpringFrameWork Developer’s Guide Version 0.6
October 8, 2004 So many open source projects. Why not Open your Documents?
运行测试代码,我们看到控制台输出:
……
HELLO ROD JOHNSON
我们将bean.xml中的配置稍加修改:
再次运行测试代码,看到:
……
hello rod johnson
示例完成!


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/1163/showart_465817.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP