知识大全 Jpetstore阅读心得之分层结构

Posted

篇首语:关山初度尘未洗,策马扬鞭再奋蹄!本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Jpetstore阅读心得之分层结构相关的知识,希望对你有一定的参考价值。

Jpetstore阅读心得之分层结构  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  虽然对Spring不熟悉 又不懂iBatis 而且对模式的概念还没有弄清楚 但也硬著头皮去读Spring包自带的Jpetstore经典J EE例子

  可以肯定 Jpetstore是按照MVC模式设计的 持久化层用iBatis(这个我不懂 我希望是用Hibernate) web层控制器的servlet有两个选择 一个是用Struts 另一个是Spring的MVC

  以下是自己的阅读体会 也许分析不当或描述不清 但也算初步尝试 所以记下来了

  一 分层结构

  Jpetstore使用了门面模式 单例模式 DAO模式

    

  门面模式

  门面接口的实现类 PetStoreImpl

  public class PetStoreImpl implements PetStoreFacade OrderService

  

  private AccountDao accountDao;

  private CategoryDao categoryDao;

  private ProductDao productDao;

  private ItemDao itemDao;

  private OrderDao orderDao;

    

  //

  // Setter methods for dependency injection

  //

    

  public void setAccountDao(AccountDao accountDao)

  

  this accountDao = accountDao;

  

  //省略余下的四个setter

  //

  // Operation methods implementing the PetStoreFacade interface

  //

    

  public Account getAccount(String username)

  

  return this accountDao getAccount(username);

  

  public Account getAccount(String username String password)

  

  return this accountDao getAccount(username password);

  

  public void insertAccount(Account account)

  

  this accountDao insertAccount(account);

  

  public void updateAccount(Account account)

  

  this accountDao updateAccount(account);

  

  //省略其它的crud方法

  

    

  暂时先不管 OrderService 这个接口

  PetStoreImpl的那些setter方法正是spring的注入方法

  在配置文件中

  <bean id= petStore class= springframework samples jpetstore domain logic PetStoreImpl >

  <property name= accountDao ref= accountDao />

  <property name= categoryDao ref= categoryDao />

  <property name= productDao ref= productDao />

  <property name= itemDao ref= itemDao />

  <property name= orderDao ref= orderDao />

  </bean>

    

  单例模式

  单例模式中 我们一般把类的构造方法设置为private 提供静态工厂方法给外界返回唯一的实例 但在这里 它不是这样做的 因为有了Spring 有了Spring的BeanFactory管理 可以轻易配置实现单例 看看作者的注释

    

  There is one instance of this class in the JPetStore application In Spring terminology it is a singleton This means a per Application Context singleton The factory creates a single instance; there is no need for a private constructor static factory method etc as in the traditional implementation of the Singleton Design Pattern

    

  单例的PetStoreImpl

  在Struts当控制器时 它这样做 为整个应用程序编写一个继承自Action的BaseAction基础类

    

  public abstract class BaseAction extends Action

  

  private PetStoreFacade petStore;

    

  public void setServlet(ActionServlet actionServlet)

  

  super setServlet(actionServlet);

  if (actionServlet != null)

  

  ServletContext servletContext = actionServlet getServletContext();

  WebApplicationContext wac = WebApplicationContextUtils

   getRequiredWebApplicationContext(servletContext);

  this petStore = (PetStoreFacade) wac getBean( petStore );

  

  

    

  protected PetStoreFacade getPetStore()

  

  return petStore;

  

  

    

   DAO模式

  ORM工具用iBatis 在领域模式层使用了粗粒度对象 下面是AccountDao 的配置

    

  <select id= getAccountByUsername resultMap= result >

  select

  signon username as userid

  account email

  account firstname

  account lastname

  account status

  account addr

  account addr

  account city

  account state

  account zip

  untry

  account phone

  profile langpref

  profile favcategory

  profile mylistopt

  profile banneropt

  bannerdata bannername

  from account profile signon bannerdata

  where account userid = #value#

  and signon username = account userid

  and profile userid = account userid

  and profile favcategory = bannerdata favcategory

cha138/Article/program/Java/ky/201311/28442

相关参考

肾的分层结构如何

肾的分层结构如何?   肾为实质器官。外层为皮质,厚度为1cm,该层富有血管和肾小球,颜色较髓质深,为红褐色。皮质的深层为髓质,占整个肾实质的2/3,该层血管较少,致密而有条纹。髓质是由8~18个肾锥

人工经济林采用分层结构,主要目的是

人工经济林采用分层结构,主要目的是_____。A、模拟自然界垂直地带性B、增加植物蒸腾调节气候C、充分利用当地光照条件D、减少降雨对地面的冲刷答案:C解析:分层结构的原理是利用不同植物对阳光、水分等环

知识大全 如何写孩子和家长一起读两本书的读书心得

如何写孩子和家长一起读两本书的读书心得与儿子一起阅读,一直以来都是我觉得应该做的事情,在他开始牙牙学语时,我就一直开始与他一起阅读诗歌,故事书,所以他的语言发展都很顺利。可是随着他进入了小学后,反而和

知识大全 家长怎么做才能惹孩子喜欢读书,让阅读成为孩子的一种生活方式

家长怎么做才能惹孩子喜欢读书,让阅读成为孩子的一种生活方式 让孩子真正爱上阅读,最重要的是要培养孩子的阅读兴趣和自觉自主积极阅读的习惯。下面是我们培养孩子爱上阅读的两点心得,写下来与大家一起分享。 一

讣告阅读之趣

美国女作家玛里琳·约翰逊在《先上讣告,后上天堂》一书中概括了讣告好看的原因:“讣告的内容其实并非死亡。不错,它们是由死亡引发的,但内容却是生活,它们充满了生气。好的讣告如雪天冷冽纯净的空气般醉人,像眼

知识大全 面包促销的心得和启示

面包促销的心得和启示节日促销手段选择(之二)商场促销活动方案之--节日促销手段选择(之三)一个周密的超市促销执行案应包括如下内容:一、背景为什么做促销——新品推广?节日促销?竞品攻势?意在说服上司促销

知识大全 中考语文阅读题是怎样出的

中考语文阅读题是怎样出的一、阅读题的考核方面中考语文阅读,只能从两个基点进行考核,那就是知识点和答题结构与方法。而知识点的考核,只能从五个方面出题,分别为文章材料、文章结构、文章语言、文章主题和表达方

VR指标的用途,运用方法,使用心得,计算公式

什么是VR指标、怎么看VR指标、成交量VR指标使用方法[一]VR指标用途该指标主要的作用在于以成交量的角度测量股价的热度,表现股市的买卖气势,以利于投资者掌握股价可能之趋势走向。该指标基于“反市场操作

电除尘器的结构及其工作原理

电除尘器的主体结构是钢结构,全部由型钢焊接而成,外表面覆盖蒙皮和保温材料,为了设计制造和安装的方便。结构设计采用分层形式,每片由框架式的若干根主梁组成,片与片之间由大梁连接。为了安装蒙皮和保温层需要,

电除尘器的结构及其工作原理

电除尘器的主体结构是钢结构,全部由型钢焊接而成,外表面覆盖蒙皮和保温材料,为了设计制造和安装的方便。结构设计采用分层形式,每片由框架式的若干根主梁组成,片与片之间由大梁连接。为了安装蒙皮和保温层需要,