`
AnnBaby
  • 浏览: 4537 次
  • 性别: Icon_minigender_1
  • 来自: 新疆
文章分类
社区版块
存档分类
最新评论

Spring-Hibernate-ZK

    博客分类:
  • ZK
阅读更多
package com.zk;

import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Components;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zk.ui.util.Composer;
import org.zkoss.zul.Messagebox;
import org.zkoss.zul.Textbox;

import com.hibernate.entity.Info;
import com.service.Service;

/**
 * @author AnnBabyLive
 *
 */
public class MyComposer implements Composer {

	protected Textbox name;
	protected Textbox address;
	private Service service;
	
	
	public void setService(Service service) {
		this.service = service;
	}

	public void init(Component component){
		
		//将当前对象的变量和参数对象进行绑定
		Components.wireVariables(component, this);
		
		//转发一个当前的事件方法到所对应名称的Component()
		Components.addForwards(component, this);
		
		//注册一个监听到当前的对象
		Events.addEventListeners(component, this);
	}
	
	public void doAfterCompose(Component component) throws Exception {
		init(component);
	}
	
	/**
	 * 
	 * 
	 * onClick$save
	 *     onClick=事件名称
	 *        save=对应的Component id
	 * $必须的!
	 * 
	 */
	public void onClick$save(Event e){
		Info info=new Info();
		info.setName(name.getValue());
		info.setAddress(address.getValue());
		service.saveInfo(info);
		showMes("录入成功!");
	}
	
	public void showMes(String message){
		try {
			Messagebox.show(message);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
	}

}
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:jee="http://www.springframework.org/schema/jee"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd">

	<bean id="dataSource"
		class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName" value="com.mysql.jdbc.Driver" />
		<property name="url"
			value="jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8" />
		<property name="username" value="root" />
		<property name="password" value="root" />
	</bean>

	<bean id="transactionManager"
		class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource" />
	</bean>
	
	<tx:annotation-driven transaction-manager="transactionManager" />

	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="configLocation"
			value="/WEB-INF/hibernate.cfg.xml">
		</property>
		<property name="dataSource" ref="dataSource" />
	</bean>
	
	<bean id="baseHibernateDAO" class="com.hibernate.dao.BaseHibernateDAOImp">
		<property name="sessionFactory" ref="sessionFactory"/>
	</bean>
	
	<bean id="infoDAO" class="com.hibernate.dao.InfoDAO" parent="baseHibernateDAO"/>
	
	<bean id="service" class="com.service.ServiceImp">
		<property name="infoDAO" ref="infoDAO"/>
	</bean>

	<bean id="myWindow" class="com.zk.MyComposer" scope="prototype">
		<property name="service" ref="service"/>
	</bean>

</beans>
 
<?page id="testZul" title=" New ZUL Title" cacheable="false" 
	language="xul/html" zscriptLanguage="Java" contentType="text/html;charset=UTF-8"?>
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit"?>
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>


<zk xmlns="http://www.zkoss.org/2005/zul"
	xmlns:h="http://www.w3.org/1999/xhtml" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://www.zkoss.org/2005/zul http://www.zkoss.org/2005/zul/zul.xsd">
<window title="My First Window" border="normal" width="200px" apply="${myWindow}">

	<label value="Name:"/><textbox id="name"/>
	<label value="Address:"/><textbox id="address"/>
	<button id="save" label="Save"/>

</window>
</zk>
 

   

    一定要加<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>

    name,address,save一定要和MyComposer.class里面的一样

 

public class ServiceImp implements Service {

	private InfoDAO infoDAO;

	public void setInfoDAO(InfoDAO infoDAO) {
		this.infoDAO = infoDAO;
	}

	@Transactional(propagation=Propagation.REQUIRED,rollbackFor={RuntimeException.class})
	public void saveInfo(Info info) {
		this.infoDAO.save(info);
	}
	
}

  

    也可以让MyComposer extends GenericForwardComposer || GenericAutowireComposer

    然后再doAfterCompose调用父类的doAfterCompose方法,这样就不用去写init方法了!

    不过还是觉的写init 要比extends一个Class好!

 

    部分代码再上传的文件里

  • zk.rar (15.7 KB)
  • 下载次数: 199
4
0
分享到:
评论

相关推荐

    ZK+spring+hibernate的整合

    4. **配置ZK-Spring**:需要引入ZK-Spring的库,这是一个连接ZK和Spring的桥梁,它提供了Spring的ApplicationContext到ZK Session的绑定,使得ZK组件可以直接使用Spring的Bean。 5. **事务管理**:由于Spring对事务...

    zk+spring+hibernate例子

    主要介绍了zk+spring+hibernate的使用方法 早期使用的是 hibernate的配置文件 后来 被改成了 引用注释的方式 老的绑定文件也没有删除,sql下面由数据库文件 导入mysql就可以,不错的教学例子 学习起来很简单

    zk+spring+hibernate整合

    在IT行业中,`ZK`(ZooKeeper)、`Spring`和`Hibernate`都是非常重要的技术组件,分别在分布式协调、应用框架和对象关系映射领域有着广泛应用。本项目是将这三个技术进行整合,用于构建一个基于MySQL数据库的完整...

    ZK + Spring + Hibernate

    在IT行业中,ZK、Spring和Hibernate是三个非常重要的开源框架,它们分别专注于用户界面、应用框架和持久层管理。让我们深入探讨这三个技术以及如何将它们完美整合。 **ZK框架** 是一个基于组件的Java桌面应用开发...

    zk+spring+hibernate+mysql Demo ()

    使用zk+spring+hibernate+mysql做的demo,只需要修改下MySQL连接字符串就可以运行。因为容量有点大。分卷压缩了,请下全后解压。

    ZK+Spring+Hibernate jar包

    ZK+Spring+Hibernate jar包名稱

    zk+spring+hibernate+maven整合项目

    在自个学习zk和其他两个框架整合的时候,总是找不到合适的整合demo进行参考,希望此次上传能对初学者有用,能够给你们一个完整的代码,让你们可以直接把项目运行起来,这样对于开发来说是最重要的

    zk+spring+hibernate(全部用注解)

    在IT行业中,`ZK`、`Spring`和`Hibernate`是三个非常重要的框架,分别在分布式协调、依赖注入及持久化层提供了强大的支持。在这个`zk+spring+hibernate(全部用注解)`的项目中,我们将探讨如何完全利用注解来配置和...

    ZK+Spring+Hibernate项目搭建

    本项目采用"ZK+Spring+Hibernate"的技术栈,这是一个常见的Java Web开发组合,旨在提供高效、灵活和可维护的解决方案。下面将详细阐述这三个核心技术及其在项目中的作用。 **ZK框架**: ZK是一个基于组件的Java ...

    zk+spring+hibernate+mysql demo(2)

    使用zk+spring+hibernate+mysql做的demo,只需要修改下MySQL连接字符串就可以运行。因为容量 有点大。分卷压缩了,请先下载zk+spring+hibernate+mysql demo(),下全后解压。

    Spring+hibernate+ZK例子

    在"Spring+hibernate+ZK例子"中,可能包含了一个整合这三个技术的应用示例。Spring作为核心框架管理整个应用的生命周期,通过AOP和DI来协调各个组件。Hibernate则被用来处理数据库交互,简化数据存取操作。而ZK可能...

    zk+spring+hibernate增删改查,整合实例,亲测可用

    在IT行业中,`ZK`(ZooKeeper)、`Spring`和`Hibernate`是三个非常重要的框架,它们分别用于分布式协调、应用框架管理和对象关系映射。本整合实例旨在展示如何将这三个技术相结合,实现一个完整的增删改查(CRUD)...

    zk-src-6.0.1.zip_zk_zk java_zk-src-6.5.1.1

    ZK框架是用Java编写的,因此它完全兼容Java平台,并且可以与其他Java技术如Spring、Hibernate等无缝集成。而标签中的"zk-src-6.5.1.1"可能表示还有一个更新的源代码版本可供研究。 压缩包子文件"zk-src-6.0.1"暗示...

    spring+springmvc+jpa(hibernate)框架整合

    Spring、SpringMVC和JPA(Hibernate)是Java开发中常用的三大框架,它们共同构建了一个高效、灵活的企业级应用架构。下面将详细讲解这三大框架的整合及其在实际项目中的运用。 Spring框架是Java企业级应用的核心...

    Spring所需jar包

    11. **spring-zkclient.jar**或**zk-spring.jar**:Spring与ZK客户端的集成包,方便在Spring应用中使用ZooKeeper。 在实际项目中,为了完整地运行Spring4,可能还需要其他依赖,如日志库(log4j、slf4j)、JTA...

    zk+hibernate+spring零配置

    标题 "zk+hibernate+spring零配置" 暗示了一个集成开发环境,其中包含Zookeeper、Hibernate和Spring框架的无配置或最少配置的整合。这个环境可能旨在简化开发流程,提高效率,并减少错误的可能性。下面将详细介绍这...

    zk3.5.2+spring2.5+hibernate3.2完整工程

    很多zk初学者对zk与spring和hibernate的整合很头疼,在这花了一晚上的时间整了个完整工程包供大家学习参考,所需jar包很大,都抓成图片了,具体看工程说明. 在遇到zk方面的问题可以加qq群:71714290交流。

    ZK安装 ZK入门 开发 讲解 共3个pdf

    首先,"ZK-Studio_userguide.pdf"是关于ZK Studio的用户指南,ZK Studio是ZK提供的一个集成开发环境,用于简化ZK应用的创建、调试和部署过程。该文档将详细介绍如何安装和配置ZK Studio,以及如何使用其各种功能,如...

Global site tag (gtag.js) - Google Analytics