Jtrac框架结构分析
一、Jtrac应用框架分析
1、Spring框架
Spring是为了解决J2EE开发复杂性而创建的轻量级开源框架,其合理的分层架构,使得在使用该框架时可以选择需要的组件,而不需要整块导入,大大节约了宝贵的JVM内存。核心功能有控制反转(IoC),也叫依赖注入(DI),和AOP的编程思想。其中控制反转不管在什么类型的项目中都让开发者受益匪浅,而AOP的切面编程思想更是改变传统的“流程编程”的思维习惯,让开发者对事务的控制更加的容易和有效。
2、Hibernate框架
Hibernate是对JDBC进行封装的轻量级开源框架,通过对JDBC的封装,使开发者能够直接操作对象而不是编写SQL语句来操作数据库表。通过仿现实的“方言”机制,实现了对多种数据库操作的支持,而开发者所需要做的只是需要声明是什么数据库和导入jar包而已。Hibernate引入缓存机制,把缓存分成两个等级,使其对缓存的控制更加的灵活,并且通过延迟加载和二级缓存大大节约了服务器的开销,使服务器更加有效率。
二、Jtrac项目包结构分析
info.jtrac --放标识作用的字符的类Constants,Jtrac接口,JtracDao和JtracImpl,都具有全局公用的特性,所以没有被放到下一层包中。
info.jtrac.acegi --存放acegi的一些验证和认证的具体实现类
info.jtrac.config --都是常规的运行时需要的配置,自定义了Spring的FactoryBean,这里是用了ProviderManagerFactoryBean来实现Factory的加载。
info.jtrac.domain --jtrac的核心bean类基本都在这里,所有在jtrac.hbm.xml声明过的class文件对应的类,都能在这里找到,还有一些配合映射到表的类的逻辑类。
info.jtrac.exception --自定义的封装的运行时异常,在项目中主要用来将异常进行包之间的穿越。
info.jtrac.hibernate --HibernateJtracDao.java继承了HibernateDaoSupport并实现了Jtrac接口,SchemaHelper.java作为辅助类被HibernateJtracDao.java所持有。
info.jtrac.lucene --借助spring-modules-lucene的包,支持全文检索。
info.jtrac.mail --MailSender.java,对邮件通知功能的支持
info.jtrac.util --主要存放工具类,即功能模块的方法封装。
info.jtrac.web --利用Spring的框架的MVC控制器,主要对远程XML的API进行解析。
info.jtrac.wicket --主要存放对页面显示的布局和对页面录入数据的保存操作的类和支持wicket的页面原型。
info.jtrac.wicket.yui --对页面原型的辅助类和页面原型。
jtrac-init.properties --对加载工程时数据文件的路径位置的定义
jtrac-verson.properties --声明版本号
jtrac.hbm.xml --hibernate配置文件,声明映射类表关系。
messages_xx.properties --声明字符串,国际化开发用。