*1. 导包 >1. Hibernate3.6 *1. 核心包:hibernate3.jar *2. 必须要的包:在required文件夹下 >1. 语言识别的其他工具,解析hql语句用的:antlr-2.7.6.jar >2. 通用的操作集合的包,这个是Apache组织的:commons-collections-3.1.jar >3. 操作xml文件的包:dom4j-1.6.1.jar >4. 操作字节码的包:javassist-3.12.0.GA.jar >5. 用到事务时要使用的包:jta-1.1.jar >6. 做日志用的包,这里用Spring开发包中提供的slf4j做日志: *slf4j-api-1.5.0.jar *slf4j-log4j12-1.5.0.jar *3. 支持jpa(Java持久化规范的包),在jpa文件夹下:hibernate-jpa-2.0-api-1.0.0.Final.jar *4. 组合连接池:c3p0-0.9.1.jar >2. Spring2.5:在开发文档的lib目录下 *1. dist文件夹下的,Spring核心包:spring.jar *2. aspectj文件夹下的:AOP(面向切面编程)要用的: >aspectjrt.jar >aspectjweaver.jar *3. cglib文件夹下的,动态代理包:cglib-nodep-2.1_3.jar *4. jakarta-commons文件夹下的,日志包:commons-logging.jar *5. jakarta-commons文件夹下的,通用工具jar包,在: >commons-codec.jar:做md5加密用的 >commons-lang.jar:包含了一些数据类型工具类 >commons-fileupload.jar:文件上传 >commons-io.jar: 输入输出数据流的读写功能 >3. Struts2.1.8: 注: *导这个框架包最简单了,就是可以在struts2-blank-2.1.8.1.war中解压之后就可以找到 lib库中的包导入即可. *再导入和Spring框架整合的包:struts2-spring-plugin-2.1.8.1.jar >4. 数据库的驱动包:例如如果是MySQL的话:mysql-connector-java-5.1.7-bin.jar 注: *导包切忌包的版本冲突或者是漏掉某些包没有导入。 *要用到json数据时要导入到包:struts2-json-plugin-2.3.4.1.jar *2. 配置 >1. hibernate配置:配置文件hibernate.cfg.xml <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE ...> <hibernate-configuration> <session-factory> <!--数据库配置信息--> <property name="connection.url" value=""/> <property name="connection.driver_class" value=""/> <property name="connection.username" value=""/> <property name="connection.password" value=""/> <property name="connection.Dialect" value=""/> <!--数据库连接池配置--> <property name="c3p0.initialPoolSize" value=""/> <property name="c3p0.minPoolSize" value=""/> <property name="c3p0.maxPoolSize" value=""/> <property name="c3p0.CheckoutTimeout" value=""/> ... <!--一般的属性,比如是否显示sql语句,是否可以从hibernate映射文件到数据库表的关联--> <property name="show_sql" >true</property> <property name="hbm2ddl.auto" >update</property> <!--导入hibernate映射文件--> <mapping resource="" /> <!--二级缓存的配置,可选--> <property name="hibernate.cache.use_second_level_cache" >true</property> <property name="hibernate.cache.provider_class" ></property> <class-cache usage="" class=""/> <class-cache usage="" class=""/> </session-factory> </hibernate-configuration> >2. Spring配置 <?xml version="1.0" encoding="utf-8" ?> <!--这里的头文件要注意别导错了,用到的就需要导入,建议应开发工具导入或者是直接从 开发包中导入文件头,包括beans(JavaBean对象),tx(事务),context,aop头文件 --> <beans ...> <!--使用注解扫描--> <context:component-scan base-package=""></context:component-scan> <!--配置SessionFactory 实现类为:LocalSessionFactoryBean --> <bean id="" class=""> <property name="" value=""/> </bean> <!--配置事务管理器TransactionManager 实现类为:HiberanteTransactionManager --> <bean id="" class=""> <property name="" ref=""/> </bean> <!--配置事务注解驱动--> <tx:annotation-driven transaction-manager=""/> </beans> >3. Struts配置: <?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE...> <struts> <!--配置为开发模式--> <constant name="" value="" /> <!--配置页面的显示主题--> <constant name="" value="" /> <!--配置行为的扩展名,也可以不配置,默认为.action--> <constant name="" value="" /> <!--配置装载行为或者是拦截器的包 其中名字属性name就是用来继承的 --> <package name="" namespace="/" extends="struts-default"> <!--配置拦截器--> <interceptors> <!--声明一个拦截器--> <interceptor name="" class=""></interceptor> <!--配置自定义默认拦截器栈--> <interceptor-stack name="defaultStack"> <interceptor-ref name="" ></interceptor-ref> <interceptor-ref name="" ></interceptor-ref> </interceptor-stack> </interceptors> <!--配置行为--> <action name="" class="" method=""> <result name=""></result> </action> </package> </struts> 注:对于到底是使用单标签,还是双标签?? *3. 使用(测试) >1. Spring测试 //测试类:SpringTest public class SpringTest{ //1. 依赖应用程序环境:ApplicationContext,来获取Spring工厂中的对象bean //2. 测试会话工厂SessionFactory //3. 测试事务Transaction } >2. Struts测试 //测试类:ActionTest public class ActionTest extends ActionSupport{ //依赖Spring对象工厂中的测试service,类:ServiceTest //测试执行中转数据的方法,默认的方法为execute @Override public String execute(){ //依赖ServiceTest操作数据 } } >3. 操作数据要依赖的Service,测试类:ServiceTest public class ServiceTest{ //依赖会话工厂SessionFactory //操作数据的方法,例如:saveUsers public void saveUsers(){ } } 注: *这三个框架的整合,其实Spring框架就是其他两个框架的粘合剂,在Spring对象工厂中管理着Hibernate 框架的会话工厂和事务管理器的创建,以及管理着Struts框架中的行为Action的创建。 *至于是否使用注解还是用xml配置文件,注解简单是趋势,但是有的地方还是要用到xml配置文件的。所以 这两个要配合着使用。
时间: 2024-11-05 12:33:35