Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Springs MVC 4中使用HikariCP和JdbcTemplate_Spring_Spring Mvc_Jdbctemplate_Hikaricp - Fatal编程技术网

如何在Springs MVC 4中使用HikariCP和JdbcTemplate

如何在Springs MVC 4中使用HikariCP和JdbcTemplate,spring,spring-mvc,jdbctemplate,hikaricp,Spring,Spring Mvc,Jdbctemplate,Hikaricp,我是Springs MVC的新手,我尝试将HikariCP与JdbcTemplate集成。但是得到了很多错误的帮助,比如如何将JdbcTemplate指向HikariCP数据源 在applicationContext.xml中 <bean id="dataSource" class="com.zaxxer.hikari.HikariConfig"> <property name="poolName" value="springHikariCP" /> <proper

我是Springs MVC的新手,我尝试将HikariCP与JdbcTemplate集成。但是得到了很多错误的帮助,比如如何将JdbcTemplate指向HikariCP数据源

在applicationContext.xml中

<bean id="dataSource" class="com.zaxxer.hikari.HikariConfig">
<property name="poolName" value="springHikariCP" />
<property name="connectionTestQuery" value="SELECT 1" />
<property name="dataSourceClassName"       value="com.mysql.jdbc.jdbc2.optional.MysqlDataSource" />
<property name="dataSourceProperties">
    <props>
        <prop key="url">${jdbc.url}</prop>
        <prop key="user">${jdbc.username}</prop>
        <prop key="password">${jdbc.password}</prop>
    </props>
</property>
</bean>

 <bean id="jdbcTemplate" class="com.zaxxer.hikari.HikariDataSource" destroy- method="close">
     <property name="dataSource" ref="dataSource"></property>
 </bean>

我使用SpringJavaConfig配置数据源并获取jdbctemplate。我认为这是最好的

@Bean
    public DataSource getDataSource() {

        private HikariDataSource dataSource() {
           final HikariDataSource ds = new HikariDataSource();
           ds.setMaximumPoolSize(100);
           ds.setDriverClassName("oracle.jdbc.driver.OracleDriver"); 
           ds.setJdbcUrl("jdbc:oracle:thin:@localhost:1521:XE"); ;
           ds.setUsername("username");
           ds.setPassword("password");
           return ds;
        }

    }

    @Bean
    public JdbcTemplate getJdbcTemplate() {

        return new JdbcTemplate(getDataSource());
    }
我希望这对你有用

  org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jdbcTemplate' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested exception is org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type 'com.zaxxer.hikari.HikariConfig' to required type 'javax.sql.DataSource' for property 'dataSource'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [com.zaxxer.hikari.HikariConfig] to required type [javax.sql.DataSource] for property 'dataSource': no matching editors or conversion strategy found
@Bean
    public DataSource getDataSource() {

        private HikariDataSource dataSource() {
           final HikariDataSource ds = new HikariDataSource();
           ds.setMaximumPoolSize(100);
           ds.setDriverClassName("oracle.jdbc.driver.OracleDriver"); 
           ds.setJdbcUrl("jdbc:oracle:thin:@localhost:1521:XE"); ;
           ds.setUsername("username");
           ds.setPassword("password");
           return ds;
        }

    }

    @Bean
    public JdbcTemplate getJdbcTemplate() {

        return new JdbcTemplate(getDataSource());
    }