解决了上一节的疑惑
Topic source这样也可以。
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"); }}
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
SNH48-刘慈欣
在
@Configuration
类中注入HikariDataSource: