初学spring+struts2+hibernate之配置篇

 1、首先是web.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
 <welcome-file-list>
  <welcome-file>index.jsp</welcome-file>
 </welcome-file-list>

<!--过滤所有struts的请求,将struts请求转到struts.xml-->
 <filter>
  <filter-name>struts2</filter-name>
  <filter-class>
   org.apache.struts2.dispatcher.FilterDispatcher
  </filter-class>
 </filter>
 <filter-mapping>
  <filter-name>struts2</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>

<!--spring映射监听,struts.xml中的class对应项映射到spring配置文件中,一般为applicationContext.xml,位于web-inf下(位置可自定,如下介绍)-->
 <listener>
  <listener-class>
   org.springframework.web.context.ContextLoaderListener
  </listener-class>
 </listener>

<!--自定义spring配置文件的位置

<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>
   classpath:applicationContext.xml<!--放在src下面-->
   /WEB-INF/applicationContext.xml<!--放在web-inf下面(默认在这个位置)-->
  </param-value>
 </context-param>-->


</web-app>

2、然后是struts.xml,放在src文件下

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>

 <package name="default" extends="struts-default">

<!--下面queryall为发过来的action请求名,actionMapping为spring中对应的bean的id,methodName为action里对应的方法名-->
  <action name="queryall" class="QueryAll" method="queryAll">
   <result name="success">/product.jsp</result>
  </action>
 </package>

</struts>

3、这里是spring的配置,复杂又重要,配的昏天又暗地,O(∩_∩)O哈哈~go on

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:p="http://www.springframework.org/schema/p"
 xsi:schemaLocation="http://www.springframework.org/schema/beans
      http://www.springframework.org/schema/beans/spring-beans.xsd">

 <!-- 创建数据源 (会jdbc的应该都知道下面的东东代表啥吧,不说了)-->
 <bean id="dataSource"
  class="org.apache.commons.dbcp.BasicDataSource"
  destroy-method="close">
  <property name="driverClassName">
   <value>oracle.jdbc.driver.OracleDriver</value>
  </property>
  <property name="url">

<!--可以将localhost换为你的ip地址,或者127.0.0.1(代表本机,搞计算机的都知道吧~~~~)-->
   <value>jdbc:oracle:thin:@localhost:1521:orcl</value>
  </property>
  <property name="username">
   <value>scott</value>
  </property>
  <property name="password">
   <value>tiger</value>
  </property>
 </bean>
 <!-- 创建session工厂 -->
 <bean id="sessionFactory"
  class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  <!-- 将数据源注入到工厂 -->
  <property name="dataSource" ref="dataSource" />
  <!-- 实体bean的映射文件 -->
  <property name="mappingResources">
   <list>

<!--不想叙述这里,给个事例,看看即可明白........-->
    <value>com/bean/ProductBean.hbm.xml</value>
   </list>
  </property>
  <!-- 数据库方言 -->
  <property name="hibernateProperties">
   <props>
    <prop key="hibernate.dialect">
     org.hibernate.dialect.Oracle9Dialect
    </prop>
    <prop key="hibernate.show_sql">true</prop>
   </props>
  </property>
 </bean>
 <!-- 创建事务  -->
 <bean id="transactionManager"
  class="org.springframework.orm.hibernate3.HibernateTransactionManager">
  <property name="sessionFactory" ref="sessionFactory"></property>
 </bean>
 <!--处理各层业务,其实就是action里调service(此处为接口),service里调dao(此处同样为接口),dao再调数据库,也就是hibernate。-->
 <!-- 处理dao -->

<!--注入sessionFactory,访问数据库-->
 <bean id="ProductDaoImpl" class="com.dao.impl.ProductDaoImpl"
  scope="singleton">
  <property name="sessionFactory" ref="sessionFactory"></property>
 </bean>
 <!-- 处理service -->
 <bean id="ProductServiceImpl"
  class="com.service.impl.ProductServiceImpl">

<!--注入dao接口,通过daoImpl实现数据库访问-->
  <property name="productDao" ref="ProductDaoImpl"></property>
 </bean>
 <!-- 处理action -->
 <bean id="QueryAll" class="com.action.ProductAction">

<!--注入service接口,通过serviceImpl调用dao层方法-->
  <property name="productService" ref="ProductServiceImpl"></property> </bean>
</beans>

4、hibernate的配置文件

1)实体(直接上事例):ProductBean.hbm.xml

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
    <class name="com.bean.ProductBean" table="T_PRODUCT" schema="SCOTT">
        <id name="product_id" type="java.lang.String">
            <column name="product_id" precision="4" scale="0" />
        </id>
        <property name="product_name" type="java.lang.String">
            <column name="product_name" length="20" />
        </property>
        <property name="product_price" type="java.lang.Double">
            <column name="product_price" length="20" />
        </property>
    </class>
</hibernate-mapping>

注意:以上column 中name对应数据库中个字段

2)hibernate.cfg.xml,这个在ssh框架中已经省去,可以直接用MyEclipse自动生成

5、其他。。。。。关于各个文件的位置,在我相册里有,欢迎查看!!

6、初学,希望大家一起交流,有改进的地方,请不吝赐教!thinks for everyone,goodnight!

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值