spring 剑走偏锋 mappingDirectoryLocations来配置Hibernate映射文件

菜鸟 :

<!-- 把数据源注入给Session工厂 -->
<bean id="sessionFactory"
   class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
   <property name="dataSource">
    <ref bean="dataSource" />
   </property>
  <!-- 配置映射文件 -->
   <property name="mappingResources">
    <list>
     <value>com/alonely/vo/User.hbm.xml</value>
    </list>
   </property>
</bean>
<!-- 把Session工厂注入给hibernateTemplate -->
<!-- 解释一下hibernateTemplate:hibernateTemplate提供了很多方便的方法,在执行时自动建立 HibernateCallback 对象,例如:load()、get()、save、delete()等方法。 -->

<bean id="hibernateTemplate"
   class="org.springframework.orm.hibernate3.HibernateTemplate">
   <constructor-arg>
    <ref local="sessionFactory" />
   </constructor-arg>
</bean>
<!-- 把DAO注入给Session工厂 -->
<bean id="userDAO" class="com.alonely.dao.UserDAO">
   <property name="sessionFactory">
    <ref bean="sessionFactory" />
   </property>
</bean>
<!-- 把Service注入给DAO -->
<bean id="userService" class="com.alonely.service.UserService">
   <property name="userDAO">
    <ref local="userDAO" />
   </property>
</bean>
<!-- 把Action注入给Service -->
<bean name="/user" class="com.alonely.struts.action.UserAction">
   <property name="userService">
    <ref bean="userService" />
   </property>
</bean>
</beans>

 

如果你的工程里有100多个表,你还想这么写吗

 

知道 mappingDirectoryLocations 是怎么回事的人

 

Spring applicationContext.xml 中配置映射文件的方法:
<property name = "mappingResources" >
    <list>
    <value> com/almaer/model/Person.hbm.xml </value>
    <value> com/almaer/model/Car.hbm.xml </value>
    <value> com/almaer/model/Engine.hbm.xml </value>
    <value> com/almaer/model/Toy.hbm.xml </value>
    </list>
</property>

比菜鸟聪明多了,只是功夫没到家

 

当配置文件变得越来越多,修改起来也越来越烦人,而且基于XML的配置也可能带来输入的错误,导致你可能因为一个字符的错误而找上半天

 

 

变态写法(个人有些鄙视):

现在,你只要指出文件夹就可以了, Spring 会替你找出所有映射文件
<property name = "mappingDirectoryLocations" >
    <list>
       <value> WEB-INF/mappings </value>
    </list>
</property>
也可以通过 classpath 来指出
<property name = "mappingDirectoryLocations" >
     <list>
         <value> classpath:/my/package/ </value>
     </list>
</property>
如果多人团队开发,不可能都放在一起的xml 还是分开放置比较好

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值