1

hibernate.cfg.xmlファイルがありますが、それをdataSourceBeanとして参照したいと思います。これを行う方法はありますか?私が持っているのは:

<beans:bean id="foo" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <beans:property name="configLocation" value="classpath:hibernate.cfg.xml"/>

しかし、それはdataSourceではありません。どんな助けでも大歓迎です。

少しコンテキストを追加するために、Spring Securityをアプリに統合したいと思います。認証マネージャーのソースとしてデータベースを提供する方法の1つは、次のとおりです(ここから取得)。

   <authentication-manager>
        <authentication-provider>
            <jdbc-user-service data-source-ref="securityDataSource"/>
        </authentication-provider>
    </authentication-manager>

ここで、「securityDataSource」は、データベースを指す、アプリケーションコンテキストでのDataSourceBeanの名前です。

4

3 に答える 3

1

2つのオプションがあります。

  1. 他の場所を使用していない場合はhibernate.cfg.xml、それを完全に削除して、Springの構成を使用することができます(以下を参照)。

  2. 何らかの理由で必要な場合hibernate.cfg.xml(他の場所で使用している場合)、そのファイルを保持してSpring構成を追加します


構成例(データベースアクセスが別dataSourceのBeanにあることに注意してください)

<beans:bean id="foo" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
       <property name="hibernateProperties">
            <props>
                <prop key="hibernate.hbm2ddl.auto">create-drop</prop>
                ...
        </property>
        <property name="packagesToScan">
            <list>
                <value>some.package</value>
            </list>
        </property>
    <property name="dataSource" ref="c3p0DataSource" />

<bean id="c3p0DataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
    scope="singleton"
        destroy-method="close">
        <property name="driverClass">
            <value>org.postgresql.Driver</value>
        </property>
        <property name="jdbcUrl">
            <value>${jdbc.url}</value>
        </property>
        <property name="user">
            <value>${jdbc.user}</value>
        </property>
        <property name="password">
            <value>${jdbc.pw}</value>
        </property>
    </bean>

構成オプションの詳細については、http://static.springsource.org/spring/docs/current/spring-framework-reference/html/orm.htmlを参照してください。

于 2012-10-12T15:41:42.450 に答える
0

jdbcを使用する理由よりもHibernateを使用している場合は、このようにSpringBeanを使用できます。

<security:authentication-manager>
<security:authentication-provider ref="myAuthenticationProvider" />
</security:authentication-manager>
<bean id="myAuthenticationProvider" class="com.something.MyAuthenticationProvider"/>

ここで、MyAuthenticationProviderは、AuthenticationProviderを実装するSpringBeanです。Link1Link2の詳細については、次のリンクをチェックアウトすることもできます

于 2012-10-09T05:55:04.137 に答える
0

cfg.xmlファイルを必要とせずに春から直接作成できます。

方言50falsefalsefalseここですべてのHibernateプロパティを構成できます...

于 2012-10-09T11:16:36.300 に答える