使用open source产品组装你的web应用架构(三)

原创 2004年04月12日 12:29:00

下面是HibernateSessionFactory   HibernateTransactionManager:的配置:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

 

可以看出:每个对象都可以在Spring 配置信息中用<bean>标签引用。在这里,mySessionFactory引用了HibernateSessionFactory,而myTransactionManager引用了HibernateTransactionManage  注意代码中myTransactionManger Bean有个sessionFactory属性。  HibernateTransactionManager有个sessionFactory setter getter方法,这是用来在Spring启动的时候实现“依赖注入” dependency injection)的。  sessionFactory 属性里 引用mySessionFactory。这两个对象在Spring容器初始化后就被组装了起来了。 这样的搭配让你从 单例(singleton objects)和工厂(factories)中解放了出来,降低了代码的维护代价。 mySessionFactory.的两个属性,分别是用来注入mappingResources hibernatePropertes的。通常,如果你在Spring之外使用Hibernate,这样的设置应该放在hibernate.cfg.xml中的。 不管怎样,Spring提供了一个便捷的方式-----Spring内部配置中并入了Hibernate的配置。 如果要得到更多的信息,可以查阅Spring API

 

 

既然我们已经组装配置好了Service Beans,就需要把Business Service Object DAO也组装起来,并把这些对象配到一个事务管理器(transaction manager)里。

 

Spring中的配置信息:

 

 

 

 

4 是我们对象搭建的一个提纲。 从中可以看出,每个对象都联系着Spring,并且能通过Spring注入到其他对象。把它与Spring的配置文件比较,观察他们之间的关系

 

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />CSDN_Dev_Image_2004-4-111645190.gif
4. Spring就是这样基于配置文件,将各个Bean搭建在一起。

 

这个例子使用一个TransactionProxyFactoryBean,它定义了一个setTransactionManager() 这对象很有用,他能很方便的处理你申明的事物还有Service Object    你可以通过transactionAttributes属性来定义怎样处理。 想知道更多还是参考TransactionAttributeEditor吧。

TransactionProxyFactoryBean 还有个setter. 这会被我们 Business service objectorderTarget)引用, orderTarget定义了 业务服务层,并且它还有个属性,由setOrderDAO()引用。这个属性

 

Spring Bean 的还有一点要注意的: bean可以以用两种方式创造。 这些都在单例模式(Sington)和原型模式(propotype)中定义了。  默认的方式是singleton,这意味着共享的实例将被束缚。 而原形模式是在Spring用到bean的时候允许新建实例的。当每个用户需要得到他们自己Bean的Copy时,你应该仅使用prototype模式。(更多的请参考设计模式中的单例模式和原形模式)

failed to open file mysql,导入mysql数据库打不开的解决办法

使用mysql导入数据库时很不凑巧的出现: Failed to open file 'xxx.sql', error: 2 主要的原因在于mysql没权限读取你指定导入盘符的权限。 so 我们此...
  • zch501157081
  • zch501157081
  • 2016年05月09日 11:15
  • 3615

产品开发的组织架构和开发管理

摘要:产品开发的组织架构和产品开发过程管理是一个软件企业开发管理的两个侧面,开发组织架构指软件项目的立项和项目开发有效的人员调配和组织,开发过程管理指在项目确定后,软件开发过程的管理。本文根据作者在建...
  • liubing8609
  • liubing8609
  • 2013年07月17日 22:04
  • 1562

23种设计模式分析(2):创建型模式

fadfd
  • zhoudaxia
  • zhoudaxia
  • 2014年04月04日 17:50
  • 1770

开源(Open Source)那些事儿 (一)

背景 最近有幸参与了王克伟的开源项目iToday,详情可以参考 我在Windows嵌入式系统上的一个绚丽用户界面开源项目(iToday)。克伟的号召力超人,Q群一下子就爆满200人。如果扩容了,大家有...
  • peixiuhui
  • peixiuhui
  • 2013年07月12日 10:42
  • 1413

20130221-STM32关于各种头文件No such file or directory的详细解决方法

初学STM32经常学习会网上找的例程,或是买的开发板带的例程等等,经常在编译的时候遇到 ..\User\stm32f10x_it.c(26): error:  #5: cannot open sou...
  • sy_lixiang
  • sy_lixiang
  • 2013年02月21日 13:49
  • 14717

JAVA BEAN反射组装数据小工具

之前开发java服务端,因为查询使用的是SpringData,好多一查询都都查出来了,返回给前端好多数据都是没用的,自己抽空做了一个小工具,用来反射字段 package test; import ...
  • u010356086
  • u010356086
  • 2017年01月07日 17:48
  • 153

open-falcon监控系统简介

背景 我们的监控系统open-falcon开源在即,需要在所有机器上部署falcon-agent采集机器硬件信息。我们内部使用一个自研工具frigga来管理各种agent,包括监控的agent、部署...
  • fishmai
  • fishmai
  • 2016年07月03日 21:53
  • 13019

[架构之美]一款APP从"想法-开发-上线-产品"的全过程

前言如果没有做过开发,研发过产品的人,很难体会做产品的艰难,刚进公司的人,一般充当的是程序开发,我这里说的是开发,它与研发是有区别的.一个需求下来,如果不能很好地理解产品需求,如果不能很好的驾驭需求实...
  • BaiHuaXiu123
  • BaiHuaXiu123
  • 2016年12月05日 23:41
  • 3043

tesseract-ocr3.02字符识别过程操作步骤

1、  从http://code.google.com/p/tesseract-ocr/downloads/list下载tesseract-ocr-3.02-vs2008、tesseract-ocr-...
  • fengbingchun
  • fengbingchun
  • 2013年01月11日 15:27
  • 42981

大数据架构师基础:hadoop家族,Cloudera系列产品介绍

大数据我们都知道hadoop,可是还会各种各样的技术进入我们的视野:Spark,Storm,impala,让我们都反映不过来。为了能够更好的架构大数据项目,这里整理一下,供技术人员,项目经理,架构师选...
  • luqiaolong
  • luqiaolong
  • 2016年03月15日 13:36
  • 1545
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用open source产品组装你的web应用架构(三)
举报原因:
原因补充:

(最多只允许输入30个字)