三大框架配置注解模式版.docx
- 文档编号:10546374
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:36
- 大小:748.39KB
三大框架配置注解模式版.docx
《三大框架配置注解模式版.docx》由会员分享,可在线阅读,更多相关《三大框架配置注解模式版.docx(36页珍藏版)》请在冰豆网上搜索。
三大框架配置注解模式版
三大框架配置[注解模式版]
1.新建web项目
2.添加hibernate框架
3.添加Spring框架
4.添加Struts2框架
Struts2JAR包导入
选中并复制所有JAR包
粘贴到项目lib文件夹下
重复操作将Struts2中Spring支持JAR包导入lib文件夹下
复制粘贴到项目lib文件夹下
5.将dbcpJAR包导入礼包文件夹下
完成后所有JAR包添加成功
6.hibernate.cfg.xml文件中的datasource,hbernateproperties,mappingresource/mappingclass均可在applicationContext.xml中添加。
可将hibernate.cfg.xml文件删除后在applicationContext.xml中配置。
在applicationContext.xml中修改头文件,改为如下:
xmlversion="1.0"encoding="UTF-8"?
>
//www.springframework.org/schema/beans" xmlns: xsi="http: //www.w3.org/2001/XMLSchema-instance" xmlns: aop="http: //www.springframework.org/schema/aop" xmlns: context="http: //www.springframework.org/schema/context" xmlns: tx="http: //www.springframework.org/schema/tx" xsi: schemaLocation="http: //www.springframework.org/schema/beans http: //www.springframework.org/schema/beans/spring-beans-2.5.xsd http: //www.springframework.org/schema/context http: //www.springframework.org/schema/context/spring-context-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/aop http: //www.springframework.org/schema/aop/spring-aop-2.5.xsd"> 在applicationContext.xml中配置datasource,hbernateproperties,mappingresource/mappingclass 将生成的LocalSessionFactoryBean修改为AnnotationSessionFactoryBean 添加功能配置 --注册当前可以使用spring的ioc的注解的功能--> annotation-config> annotation-config> --自动扫描com下面的所有包,当发现包下面有@services@controller@component..就交给spring的容器来管理--> component-scanbase-package="com.*"> component-scan> --把所有对于事务的配置都交给HibernateTransacionManager来管理--> class="org.springframework.orm.hibernate3.HibernateTransactionManager"> --开启使用注解来进行事务的配置的功能--> annotation-driventransaction-manager="txManager"/> 7.包的创建 8.数据库反射创建dto,dao。 生成的类中Student中属性的long类型修改为int, StudentDAO中的的log属性删除 生成的StudentDAO和StudentDAOImpl,可根自身习惯将方法实体写入StudentDAOImpl,而接口类写入StudentDAO。 在此只需更改类名,互换包的位置即可 9.Service类,Service接口类,Action类 StudentServices类: packagecom.hrs.services; importjava.util.List; importorg.hibernate.SessionFactory; importorg.springframework.beans.factory.annotation.Autowired; importcom.hrs.model.Student; publicinterfaceStudentservice{ voidsave(StudenttransientInstance); voiddelete(StudentpersistentInstance); StudentfindById(java.lang.Longid); ListfindAll(); Studentmerge(StudentdetachedInstance); } StudentServiceImpl类 packagecom.hrs.services.impl; importjava.util.List; importorg.springframework.beans.factory.annotation.Autowired; importorg.springframework.stereotype.Service; importorg.springframework.transaction.annotation.Propagation; importorg.springframework.transaction.annotation.Transactional; importcom.hrs.dao.Studentdao; importcom.hrs.model.Student; importcom.hrs.services.Studentservice; @Service("studentservice") @Transactional(propagation=Propagation.REQUIRED) publicclassStudentserviceImplimplementsStudentservice{ privateStudentdaostudentdao; publicvoidsave(StudenttransientInstance){ System.out.println("我是数据服务层"); studentdao.save(transientInstance); } publicvoiddelete(StudentpersistentInstance){ studentdao.delete(persistentInstance); } publicStudentfindById(Longid){ returnstudentdao.findById(id); } publicListfindAll(){ returnstudentdao.findAll(); } publicStudentmerge(StudentdetachedInstance){ returnstudentdao.merge(detachedInstance); } @Autowired publicvoidsetStudentdao(Studentdaostudentdao){ this.studentdao=studentdao; } } StudentAction类 packagecom.hrs.actions; importorg.springframework.beans.factory.annotation.Autowired; importorg.springframework.stereotype.Controller; importcom.hrs.model.Student; importcom.hrs.services.Studentservice; importcom.opensymphony.xwork2.ActionSupport; @Controller("studentAction") publicclassStudentActionextendsActionSupport{ privateStudentstu; privateStudentserviceservice; @Autowired publicvoidsetService(Studentserviceservice){ this.service=service; } publicStudentgetStu(){ returnstu; } publicvoidsetStu(Studentstu){ this.stu=stu; } publicStringsave(){ System.out.println(stu); System.out.println("我是业务逻辑层"); service.save(stu); returnthis.SUCCESS; } } ApplicationContext.xml文件 xmlversion="1.0"encoding="UTF-8"? > //www.springframework.org/schema/beans" xmlns: xsi="http: //www.w3.org/2001/XMLSchema-instance" xmlns: aop="http: //www.springframework.org/schema/aop" xmlns: context="http: //www.springframework.org/schema/context" xmlns: tx="http: //www.springframework.org/schema/tx" xsi: schemaLocation="http: //www.springframework.org/schema/beanshttp: //www.springframework.org/schema/beans/spring-beans-2.5.xsd http: //www.springframework.org/schema/contexthttp: //www.springframework.org/schema/context/spring-context-2.5.xsd http: //www.springframework.org/schema/txhttp: //www.springframework.org/schema/tx/spring-tx-2.5.xsd http: //www.springframework.org/schema/aophttp: //www.springframework.org/schema/aop/spring-aop-2.5.xsd"> --注册当前可以使用spring的ioc的注解的功能--> annotation-config> annotation-config> --自动扫描com下面的所有包,当发现包下面有@services@controller@component..就交给spring的容器来管理--> component-scanbase-package="com.*"> component-scan> --去classes的目录下面去找一个叫做jdbc.properties的属性文件 而且将它解析我们可以通过springEL表达式来获得属性的值 --> class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> org.hibernate.dialect.Oracle9Dialect --把所有对于事务的配置都交给HibernateTransacionManager来管理--> --开启使用注解来进行事务的配置的功能--> annotation-driventransaction-manager="txManager"/> class="mons.dbcp.BasicDataSource"> value="oracle.jdbc.OracleDriver"> value="jdbc: oracle: thin: @localhost: 1521: orcl"> Struts2.xml文件 xmlversion="1.0"encoding="UTF-8"? > DOCTYPEstrutsPUBLIC"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.1//EN""http: //struts.apache.org/dtds/struts-2.1.dtd"> --action的name一定要和你的Action中的@controller中的名字保持一致 spring容器就可以帮助你注入你想要的那个bean过来 --> 10.web.xml配置 xmlversion="1.0"encoding="UTF-8"? > xmlns=" xmlns: xsi="http: //www.w3.org/2001/XMLSchema-instance" xsi: schemaLocation=" --spring给我们提供了一个中文编码的工具类--> --当我们项目启动的时候就会去加载applicationContext.xml文件--> applicationContext.xml --配置监听项目启动的监听器--> --openSesionfilterView--> --它是一个过滤器检查当前在我们项目运行过程中 是否会有没有获得注入的情况就再注入一次 --> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 框架 配置 注解 模式