5

DriverManagerDataSourceクラスに関するSpringjavadocの記事では、このクラスは非常に単純であり、推奨されていると述べられています。

コンテナによって提供されるJNDIデータソースを使用します。このようなデータソースは、JndiObjectFactoryBeanを介してSpringApplicationContextでデータソースBeanとして公開できます。

問題は、これをどのように達成するかです。

たとえば、custooracleデータベースにアクセスするためにDataSourceBeanを使用したい場合、何が必要ですか?コンテキスト構成などで何を書くのですか?

4

4 に答える 4

4

JNDIデータソースにアクセスするには、次のようにします。

<bean id="dbDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName" value="jdbc/MyDatabase"/>
</bean>

または、春の「ジー」スキーマを見てください。

データベース接続の詳細はWebLogicで構成され、アプリケーションはjndi名を介してデータベースにアクセスします。

于 2012-12-03T23:29:27.650 に答える
3

または、Javaベースの構成を使用して、次のようにします。

@Bean(destroyMethod = "")
public DataSource dataSource() throws NamingException{
    Context context = new InitialContext();
    return (DataSource)context.lookup("jdbc.mydatasource");
}
于 2013-10-11T17:13:08.753 に答える
1

別のオプションがあります:

<jee:jndi-lookup id="dbDataSource" jndi-name="jdbc/MyLocalDB"
        expected-type="javax.sql.DataSource" />
于 2016-04-07T19:05:15.557 に答える
0

次のjndi構成を使用できます。

<beans:bean id="weblogicDataSource" class="org.springframework.remoting.rmi.JndiRmiProxyFactoryBean">
    <beans:property name="jndiName" value="ConnectionPoolJNDINameAsConfigured"></beans:property>
    <beans:property name="jndiEnvironment">
        <beans:props>
            <beans:prop key="java.naming.factory.initial">weblogic.jndi.WLInitialContextFactory</beans:prop>
            <beans:prop key="java.naming.provider.url">iiop://localhost:7001</beans:prop>
        </beans:props>
    </beans:property>
    <beans:property name="serviceInterface" value="javax.sql.DataSource"></beans:property>
</beans:bean>

注入されたクラスファイルへの参照を次のように作成します

<beans:bean id="xxxx" class="xxxxxxxx">
    <beans:property name="wlDataSource"  ref="weblogicDataSource" />
</beans:bean>

実装クラスでは、

import javax.sql.DataSource;

インスタンスをプライベートデータソースwlDataSourceとして作成します。

および対応するセッター。これで、実装の考え方に従って、JDBCTemplateやSimpleJDBCCallなどを自由に使用できます。

  • これがお役に立てば幸いです。
于 2016-08-24T12:58:21.657 に答える