Discuss / Java / 解决了上一节的疑惑

解决了上一节的疑惑

Topic source

@Configuration类中注入HikariDataSource:

@Bean
	HikariDataSource createDataSource() {
		HikariDataSource theDataSource = new HikariDataSource();
		theDataSource.setJdbcUrl("jdbc:mysql://localhost:3306/test");
		theDataSource.setUsername("root");
		theDataSource.setPassword("password");
		return theDataSource;
	}

夢夢燈籠

#2 Created at ... [Delete] [Delete and Lock User]

这样也可以。

package com.itranswarp.learnjava.service;
import com.zaxxer.hikari.HikariConfig;import com.zaxxer.hikari.HikariDataSource;import org.springframework.beans.factory.FactoryBean;import org.springframework.stereotype.Component;import javax.annotation.PostConstruct;import javax.annotation.PreDestroy;import javax.sql.DataSource;@Componentpublic class DataSourceFactoryBean implements FactoryBean<DataSource> {    private HikariConfig config = new HikariConfig();    @Override    public DataSource getObject() throws Exception {        config.setJdbcUrl("jdbc:mysql://");        config.setUsername("root");        config.setPassword("toor");        config.setMaximumPoolSize(10);        return new HikariDataSource(config);    }    @Override    public Class<?> getObjectType() {        return HikariDataSource.class;    }    @PostConstruct    public void init() { System.out.println("dataSource init"); }    @PreDestroy    public void shutdown(){        System.out.println("dataSource closed");    }}

夢夢燈籠

#3 Created at ... [Delete] [Delete and Lock User]
package com.itranswarp.learnjava.service;

import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
import org.springframework.beans.factory.FactoryBean;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.sql.DataSource;

@Component
public class DataSourceFactoryBean implements FactoryBean<DataSource> {

    private HikariConfig config = new HikariConfig();

    @Override
    public DataSource getObject() throws Exception {
        config.setJdbcUrl("jdbc:mysql://");
        config.setUsername("root");
        config.setPassword("toor");
        config.setMaximumPoolSize(10);
        return new HikariDataSource(config);
    }

    @Override
    public Class<?> getObjectType() {
        return HikariDataSource.class;
    }

    @PostConstruct
    public void init() { System.out.println("dataSource init"); }

    @PreDestroy
    public void shutdown(){ System.out.println("dataSource closed"); }
}

  • 1

Reply