JAVA教程之利用Hibernate 和 Spring 完成一个事件...
有了这样一个呼声:让java代替C语言成为基本语言。这些足以说明java简单易学的这个优点。其次,java的功能强大,前面我也提到了,EJB3.0的推出使java成为了大型项目的首选。1.起首完成一个接口.
============================================================
packagecom.cqtele.tnbos;importjava.util.*;publicinterfaceIUserDao{publicvoidinsertUser(userInfouser);publicListfindUser(Stringsql);}
==============================================================
2.完成这个接口.
这里利用Spring的AOP-drivenHibernateTemplate简化Hibernate会话的处置.
================================================================packagecom.cqtele.tnbos;importjava.util.*;
importnet.sf.hibernate.*;importnet.sf.hibernate.cfg.*;importjava.io.Serializable;importorg.springframework.orm.hibernate.*;//.HibernateCallback;importorg.springframework.orm.hibernate.support.HibernateDaoSupport;
publicclassuserDAOextendsHibernateDaoSupportimplementsIUserDao{//publicListname=null;//Sessionsession;privateListlist=null;publicvoidinsertUser(userInfouser){getHibernateTemplate().saveOrUpdate(user);}publicListfindUser(Stringsql){returngetHibernateTemplate().find(sql);}}
=================================================================
3.声明式办理事件.
bean.xml
==========================================================================
<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEbeansPUBLIC"-//SPRING/DTDBEAN/EN""http://www.springframework.org/dtd/spring-beans.dtd">
<beans><beanid="dataSource"class="org.apache.commons.dbcp.BasicDataSource"destroy-method="close"><propertyname="driverClassName"><value>com.mysql.jdbc.Driver</value></property><propertyname="url"><value>jdbc:mysql://127.0.0.1:3306/opertselect?useUnicode=true&characterEncoding=GBK</value></property><propertyname="username"><value>root</value></property><propertyname="password"><value></value></property></bean><beanid="sessionFactory"class="org.springframework.orm.hibernate.LocalSessionFactoryBean"><propertyname="dataSource"><reflocal="dataSource"/></property><propertyname="mappingResources"><list><value>userInfo.hbm.xml</value><!--value>Fruits.hbm.xml</value--></list></property><propertyname="hibernateProperties"><props><propkey="hibernate.dialect">net.sf.hibernate.dialect.MySQLDialect</prop><propkey="hibernate.show_sql">true</prop></props></property></bean><beanid="transactionManager"class="org.springframework.orm.hibernate.HibernateTransactionManager"><propertyname="sessionFactory"><reflocal="sessionFactory"/></property></bean><beanid="userDAO"class="com.cqtele.tnbos.userDAO"><propertyname="sessionFactory"><reflocal="sessionFactory"/></property></bean><beanid="DAOProxy"class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"><propertyname="transactionManager"><refbean="transactionManager"/></property><propertyname="target"><reflocal="userDAO"/></property><propertyname="transactionAttributes"><props><propkey="insert*">PROPAGATION_REQUIRED</prop><propkey="get*">PROPAGATION_REQUIRED,readOnly</prop></props></property></bean></beans>==============================================================================
4.利用.(这是关于一个购物车的例子.)==============================================================================
packagecom.cqtele.tnbos;
importjava.util.*;importjava.io.*;importorg.springframework.beans.factory.BeanFactory;importorg.springframework.beans.factory.xml.XmlBeanFactory;importorg.aopalliance.aop.Advice;
publicclasslogin{privateListlist=null;privateStringsql="fromuserInfo";publicListgetAllMessageList(){try{InputStreamis=newFileInputStream("bean.xml");XmlBeanFactoryfactory=newXmlBeanFactory(is);IUserDaouser=(IUserDao)factory.getBean("DAOProxy");list=user.findUser(sql);}catch(IOExceptionioe){System.out.println("getAllMessageListOcurrError!!Message:"+ioe.getMessage());}returnlist;}}
======================================================================
5.总结
======================================================================
Hibernate是一种先辈的OR映照工具,而Spring是一个AOP框架和IOC容器。这两种手艺的综合利用,使得开辟职员能够编写媲美数据库厂商的代码,它能够在J2EE容器中运转,也能够独自运转.
还是要自己一点一点写代码,然后编译,改错再编译好那。还有最重要的是.net的编译环境非常好,你甚是不需要了解太多工具,对于简单的系统,你可以之了解一些语法就哦了。 关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。 还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。 你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。 另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。 任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言 另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想) 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。 Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。 如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。 当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢? 那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧! 至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。 多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 是一种使网页(Web Page)产生生动活泼画面的语言 应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
页:
[1]
2