Tutor记录

Tutor2:

说明了一个Enterprise JAVA application 需要哪些module:

  • Enterprise Application module (用于整合其他module)
  • Java class Library (存放公用的class)
  • EJB module(存放 EJB模块,如stateless的class, EJB module中的class用来处理商业逻辑)
  • Enterprise Application client (构建基于Swing的GUI客户端)
  • web application module (构建web端,应该使用jsf)

Tutor3,4.

说明了该如何构建一个Swing的GUI:

  • 要有一个主程序,专门管理 GUI启动,Listener的注入,Event的处理,错误的处理;(GUI需要单独fork一个子线程)


  • 要有一个维护client 和 database交互的接口,负责处理来自Client的sql事务,负责数据库事务的处理,负责向主程序提供entity获取功能。

  • 要有一组关于数据库关系的entity类,使用JPA对类做ORM(比如:@column,@ID,@Entity等修饰符), 每一个类作为一张table存在于数据库中,注意每个将来需要映射到数据库中的entity类都必须是pojo的,且符合Java bean的要求(有getter和setter方法),这样方便上面那个EJB交互接口调用查询(注意,使用ORM框架如JPA的时候,对数据库做CRUD都应该以对象和关系的映射这一层作为CRUD的最小粒度,也就是说我们需要先从数据库里拿出对象和对象的值,然后在根据这些POJO对象,进行业务逻辑的处理。); 然后,类中的域在数据库中作为columns存在;

  • 这里利用的JPQL逻辑都是针对主键的极为简单的查询方式,现在还不明确,对于复杂的数据库查询,操作,在使用ORM框架时,这批代码需要写在哪里?是先取出数据以后在EJB业务层实现对数据的二次处理, 还是直接写在entity的类里面,使用一些现在还没学会的ORM复杂功能呢?

    Tutor记录_第1张图片

  • ps: JAVA bean的要求:

    Tutor记录_第2张图片

Tutor5,6

说明了如何使用JSF和JSF相关的EJB的Bean类型完成JSF web application的编写(JSF Managed Bean通常有:ApplicationScoped,RequestScoped两种类型)

  • ApplicationScoped的JSF web application bean的生命周期和JSF Web Application相同,所以ApplicationScoped bean会被用做写EJB的业务逻辑代码,用作负责 client 和 database 之间的交互,处理JPQL语句,为主程序提供entity的获取接口。 是JSF中的Model

  • 同样的,JSF web application中使用与页面有相同声明周期的RequestScoped JSF Web Application bean 作为当前页面的主程序。 是JSF中的controller

  • HTML页面从RequestScoped JSF Web Application Bean中获取数据,是JSF中的view(那么BOOTSFACE页面模版应该就是整合在这里了。)
    HTML页面之间的跳转,可以参考使用JSF的语法,比如这两种JSF语法支持的是Button的页面跳转和Link的页面跳转。这一部分还是需要参照JSF语法。


    Tutor记录_第3张图片

Tutor7

说明了一个Swing GUI如何使用EJB模块来代替原有的class模块,负责client和database之间的交互。

  • 事实上,这中使用EJB模块作为client和数据库交互的模块的方法,就是将Tutor2中的ejb模块的编写思想和Tutor3,4中 用class,EJB和JPQL与数据库进行交互的方法, 整合起来。
    **主要是注意修饰符,如 @stateless @persistenceContext,等

你可能感兴趣的:(Tutor记录)