2014-04-25 31 views
0

我想創建一個使用JdbcTemplate和SpringDaoSupport的spring web應用程序。當我通過dispatcher-servlet xml定義數據源bean時,它工作正常。即如何在基於Web的應用程序中使用JdbcTemplate和SpringDaoSupport以編程方式配置spring數據源?

<bean id="dataSource" 
    class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
    <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/> 
    <property name="url" value="jdbc:oracle:thin:@localhost:1521:XE"/> 
    <property name="username" value="system"/> 
    <property name="password" value="password1$"/> 
</bean>    

但每當我tryinh配置通過程序數據源bean,它越來越exception.The配置如下:

在代碼:

@Configuration 
public class AppConfig { 

    @Bean 
    public DriverManagerDataSource dataSource() { 
     DriverManagerDataSource driverManagerDataSource = new DriverManagerDataSource(); 
     driverManagerDataSource.setDriverClassName("oracle.jdbc.driver.OracleDriver"); 
     driverManagerDataSource.setUrl("jdbc:oracle:thin:@localhost:1521:XE"); 
     driverManagerDataSource.setUsername("username"); 
     driverManagerDataSource.setPassword("password"); 
     return driverManagerDataSource; 
    } 
} 

在XML中:

<bean id="dataSource" class="com.example.AppConfig" />  

請幫我傢伙....

+0

請添加您的異常堆棧跟蹤。 – bhdrk

+1

這個AppConfig以'dataSource'作爲id是什麼?看起來你在這裏混合了兩個概念。你的配置類不需要有一個id,因爲這只是一個bean配置的容器。在你的java代碼中,這個bean會默認暴露方法的名字(這是'dataSource',就像你期望的那樣) –

回答

0

在你dispatcher-servlet.xml,你需要確保你有兩種:

<context:annotation-config/> 

<bean class="com.example.AppConfig" /> 

<context:component-scan base-package="com.example"/> 
+0

這對人不起作用!以下例外即將發生: –

+0

java.lang.IllegalStateException:無法加載配置類:com.example.AppConfig;造成:java.lang.NoClassDefFoundError:org/objectweb/asm/Type –

+0

:-)第二個異常很明顯,當然。您被要求提供堆棧跟蹤,我的回答僅基於您在問題中提供的內容,其中沒有指定堆棧跟蹤或異常:-)。 –

相關問題