1,今天在用Annotation+Hibernate做的一个Demo中加进了Spring。
2,基本的一些过程如下:
3,首先要引入支持包,Spring Core ,Spring Persistence Core,Spring AOP,还要引入Commons Pool。
4, 然后从配置文件开始:
myspringcontext.xml: 对于原来的Hibernate配置文件,我采取了保留原来配置的方法,因为在Spring中配置Hibernate的一些属性感觉不方便。
内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="annotationsessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="configLocation"
value="file:src/annotationhibernate.cfg.xml">
</property>
</bean>
<bean id="PictureProxy" class="dian.ikeel.DAL.PictureDAL">
<property name="sessionFactory">
<ref local="annotationsessionFactory" />
</property>
</bean>
</beans>
这里需要注意的就是应该用AnnotationSessionFactoryBean。
指向的hibernate.cfg.xml 在Step By Step (2)中有详细内容,可以参看。
<property name="sessionFactory">
<ref local="annotationsessionFactory" />
</property>
这句配置的作用我想就是,在getBean获取PictureProxy的时候,把他绑定到了一个SessionFactory提供的Session。省去了我们自己编码或得Session的过程了
5,我的程序其他部分逻辑是这样的:
A, 持久化层: Picture.java :用Annotatioin标注,在Step By Step (2)中有详细。
B,数据访问接口:IPictureDAL :
代码:
package dian.ikeel.IDAL;
import dian.ikeel.annotation.*;
public interface IPictureDAL {
public void insertPicture(Picture pic);
}
C,数据访问接口的实现:PictureDAL,实现了IPictureDAL ,同时继承了HibernateDAOSupport. 因为我们要用到getTemplate。如果PictureDAL没有实现接口的话,会出现类型转换错误。这涉及到动态代理的原理。
代码如下:
package dian.ikeel.DAL;
import dian.ikeel.annotation.*;
import dian.ikeel.IDAL.*;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
public class PictureDAL extends HibernateDaoSupport implements IPictureDAL {
public void insertPicture(Picture pic)
{
getHibernateTemplate().save(pic);
}
}
D,然后就是程序入口了:
public static void main(String[] args) {
Resource rs=new FileSystemResource("src/myspringcontext.xml");
BeanFactory bf=new XmlBeanFactory(rs);
IPictureDAL pic = (IPictureDAL)bf.getBean("PictureProxy");
Picture pic1 = new Picture();
pic1.setPicname("liang");
pic1.setPicsize(123);
pic.insertPicture(pic1);
System.out.println("AnnotationEntry excuted");
}
这样就基本完成了最简单的Hibernate+Spring with Annotation的例子。
分享到:
相关推荐
这个“基于Struts2.18+Spring2.5+Hibernate3.3+Annotation注解开发的电子商务网站demo”是一个很好的学习资源,可以帮助开发者加深对这些框架的理解并熟悉实际应用。 1. **Struts2.18**:Struts2是MVC(模型-视图-...
JSF+Spring+Hibernate(Annotation)的login小实例,建议入门的朋友看看,老鸟就免了,呵呵。环境:SQLSever2000+jdk5.0+spring2.0+hibernate3.2+jsf
Spring框架则是一个全面的企业级应用开发框架,它涵盖了依赖注入(DI)、面向切面编程(AOP)、事务管理等多个方面。而Hibernate是一个对象关系映射(ORM)框架,它简化了数据库操作,使开发者能用Java对象来操作...
### Struts2+Spring2+Hibernate3+Annotation所需JAR包详解 在Java Web开发领域,Struts2、Spring2和Hibernate3是三个非常重要的框架,它们分别负责Web层、业务逻辑层和服务持久化层的功能实现。为了更好地整合这三...
**Spring** 是一个全面的Java企业级应用开发框架,它以依赖注入(DI)和面向切面编程(AOP)为核心,提供事务管理、数据访问集成、邮件服务等功能。Spring3.1版本引入了更多改进,如对Java配置的支持,使配置更简洁...
本项目利用一系列流行的技术栈,包括jQuery EasyUI、Struts2、Spring和Hibernate,构建了一个基于注解的CRM系统。以下将详细解析这些技术及其在项目中的应用。 **jQuery EasyUI** 是一个基于jQuery的前端框架,提供...
GSH:spring3.1.0M2+Hibernate3.5+GWT2.4+JPA+Annotation+Spring4gwt0.0.1亲手整合,也可以上新浪博客去看 http://blog.sina.com.cn/s/blog_687dfecb0100yrmf.html
【标题】"csh框架+cxf+spring+hibernate+mysql 注解 annotation xml json" 提到的是一个基于Java技术栈的Web服务开发架构,涵盖了多个关键组件和技术,这些技术在现代企业级应用中广泛应用。以下是这些知识点的详细...
1. **Struts2框架**:Struts2是一个基于MVC设计模式的Web应用框架,用于简化Java Web应用程序的开发。它的主要功能包括动作映射、拦截器、结果视图等。通过Action类和Result配置,Struts2能够处理用户请求并返回相应...
下载后请修改数据库用户名和密码,即springAnnotation-hibernate.xml文件 案例系统支持功能如下: 注册功能,身份证,邮箱,手机号,姓名等校验,ajax异步获取资源 分页显示,编辑更新,多行删除等更功能,使用了MVC...
实现了简单用户权限登录,项目中含有mysql数据库 加入了基本的拦截器,错误类处理等 加入了BaseDao,Spring3对Hibernate4已经没有了HibernateDaoSupport和HibernateTemplate的支持,使用了原生态的API
5. **Annotation**:注解是Java语言的一个重要特性,它允许在代码中嵌入元数据,从而简化配置、增强代码的自我描述性。在本项目中,注解被广泛应用于定义RESTful接口、映射数据库实体、注入依赖等场景,极大地提高了...
**Spring3.0** 则是一个全面的企业级应用框架,核心特性包括依赖注入和AOP。Spring的DI使得对象之间的依赖关系可以通过XML或注解进行声明,降低了代码的耦合度。而AOP则用于实现如日志记录、权限控制等横切关注点。...
我自己搭建的spring4+springMVC4+hibernate4.3.8基于annotation的开发环境 中间遇到好多问题,比如jar包不齐什么的,我把所有的包放在lib目录下,大家不用再去下载了