传智播客java学习 OA机构设计
今天是学习oa的第二天,学的知识点比较多,我做了笔记:
Service层设计:
1,先有get(Long),因为还想要获取其他对象(不是T),所以再定义一个get(Class, Long)
2, 为什么有get(Class, Long),但不加上以下两个方法呢?
<E> E delete(Class<E> clazz, Long id);
<E> List<E> findAll(Class<E> clazz);
可以加上,但是在程序中只使用到了get(Class, Long),所以就只定义了get方法。
3,为什么使用Long型的主键呢?也可以使用Serializable类型,因为Session.get()方法就是接受这个类型。
包 资源(类、接口等)
cn.itcast.oa.service.daosupport ServiceBase(原名为DaoBase)
ServiceImplBase(原名为DaoBaseImpl)
cn.itcast.oa.service Service的接口
Cn.itcast.oa.service.impl Service的实现类
说明: Service接口可以通过继承ServiceBase得到增删改查的方法声明。Service的实现类可以通过继承ServiceImplBase得到增删改查方法的实现。通过ServiceImplBase中的getSession()与getJbpmContext()方法可以方便的获得Session与JbpmContext。
使用反射获取类型参数的真实类型的代码如下:
public DaoBaseImpl () {
Type type = this.getClass().getGenericSuperclass();
ParameterizedType pt = (ParameterizedType) type;
this.clazz = (Class<T>) pt.getActualTypeArguments()[0];
}
事务管理:
使用过滤器加 ThreadLocal 实现
因为Session可以通过JbpmContext.getSession()获得,所以只需管理 JbpmContext即可;过滤器拦截*.do的请求。
一个请求(线程)使用同一个JbpmContext 如果请求中没有使用JbpmContext或Session,就不要创建JbpmContext。
在过滤器中关闭JbpmContext时,也要调用 ThreadLocal.remove(),因为Web容器有线程池,就是两次请求有可能是使用的同一个线程。
JbpmContextFilter中的相关代码:
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,ServletException {
try {
chain.doFilter(request, respons
相关文档:
下面以编译 /src/com/dream/io/ScannerTest.java为示例:
1、用javac编译.java文件时,进入src目录后,输入 javac com/dream/io/ScannerTest.java, 回车,即可编译ScannerTest.java文件为.class文件;也可,进入 /src/com/dream/io/ 目录后, 输入 javac ScannerTest.java, 回车,也可编译 ScannerTest.java文件为 .clas ......
1、 public class HelloWorld {
public static void main(String args[]){
String s="daxiong";
System.out.println("Hello,World!"+"lu shenglong"+s);
char c[]={'s','w','q'};
&nb ......
(注意:下面文件都在f:\myjava中)
{
3个源文件:MyApp.java,MyLib.java,PrintSchool.java;
建文件夹org\Jie
其中MyLib和PrintSchool放在包org.Jie中(import org.Jie)
在cmd.exe中运行
javac -d org\Jie MyLib.java //在org\Jie\org\jie生成了MyLib.class文件,将该文件 ......
我今天学习了徐老师将的hibernate框架知识,我做了简单的笔记:
集合属性大致分为二种:
单纯的集合属性,像List,Set或数组等集合属性。
2,Map集合属性,每个属性值多有相对应的Key映射。
&nb ......