我的程序想用spring mvc+hibernate 实现,其中hibernate和spring是注解形式的,请高手指点,如何搭一个这样的框架?
谢谢啦!
------解决方案--------------------
我现在的工程就是这种架构,给楼主讲几个重点的包:
1、Spring 2.5后将mvc模块独立出来了,所以要单独加上:
spring-web.jar;
spring-webmvc.jar
2、由于需要用注解配置实体,建议采JPA规范,用Hibernate实现,这时需要:
ejb3-persistence.jar
有必要配上:
hibernate-annotations.jar
其它就是Spring-core、Hibernate-core、common、log、dbdriver、aspectj等一些常用包。
准备好以上基础设施,再需要重点考虑的是三个xml配置文件:
1、web.xml:
_配置Spring主容器
_配置Spring的DispatcherServlet(也称web子容器)
_配置Spring集成的Log4j
另外有必要配上:
_Spring的CharacterEncodingFilter字符编码工具
_Spring的OpenSessionInViewFilter解决Hibernate延迟加载工具
2、Spring-core.xml:
由于要用到注解,原来在xml中的bean注入方式全省略,但需要注意以下两个配置:
_打开Spring注解驱动的Ioc
_打开Spring扫描创建Bean功能
有必要:
_打开AOP自动代理
然后就是配置常用项,例如:
_数据源
_Hibernate的sessionFactory,这个配置上中可以注入packagesToScan属性,这时Hibernate能自动描述指定包下所有的实体配置,而不再需要*.hbm.xml文件了。
_Spring声明式事务功能
3、xxx-servlet.xml:
这是Spring MVC工作的配置文件,重点以下配置:
_指定组件描述包名,作用就是描述配有@Controller的控制器 //①
_启动Spring MVC的注解功能,完成请求和注解POJO的映射。
_添加方法级别的注解功能
_对模型视图名称的解析,即在模型视图名称添加前后缀
有必要加上:
_资源文件配置
_增加一个可以上传文件的解析器
_启用Session本地化解析器
_错误处理的展现层
有了以上三个xml文件,几乎到工程结束都不用再和xml打交道了。只要把①所指定包下任何一个pojo标上@Controller,它就相当于Struts的Action。