配置好了dataSource之后,想测试一下有没有配置成功
package com.yang.Controller;
import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
* Created by Yang on 2017/6/6.
*/
@RestController
public class TestController {
@Autowired
private DruidDataSource dataSource;
@RequestMapping("/hello")
public String index() {
String sql = "select * from reader;";
String str = "";
PreparedStatement ps = null;
ResultSet rs = null;
try {
ps = dataSource.getConnection().prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()){
str = rs.getString(2);
}
} catch (SQLException e) {
e.printStackTrace();
}
return str;
}
}
这个TestController是可以跑成功的,我想把dataSource.getConnection()再封装一下
package com.yang.Utils;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.DruidPooledConnection;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.sql.SQLException;
/**
* Created by Yang on 2017/6/6.
*/
public class ConnectionManager {
private Logger logger = LoggerFactory.getLogger(ConnectionManager.class);
@Autowired
private DruidDataSource dataSource;
private static volatile ConnectionManager connectionManager;
private ConnectionManager(){}
public static ConnectionManager getInstance(){
if(connectionManager == null){
synchronized (ConnectionManager.class){
if(connectionManager == null){
connectionManager = new ConnectionManager();
}
}
}
return connectionManager;
}
public DruidPooledConnection getConn(){
DruidPooledConnection conn = null;
try {
conn = dataSource.getConnection();
} catch (SQLException e) {
logger.error("get connection error,the connection is null", e);
e.printStackTrace();
}
return conn;
}
}
写了这个ConnectionManager,但是在这个类里面,dataSource是null,不知道怎么回事,想请教一下大家。
另外还有一个问题,在使用Spring Boot的时候,如何进行单元测试,我开始用单元测试测试一个ConnectionManager,但是一直不成功
D:\Java\jdk_8u92\bin\java -Dspring.output.ansi.enabled=always -Didea.launcher.port=7532 "-Didea.launcher.bin.path=D:\develop\idea\IntelliJ IDEA 2016.2.5\bin" -Dfile.encoding=UTF-8 -classpath "D:\environment\Java\jdk_8u92\jre\lib\charsets.jar;D:\environment\Java\jdk_8u92\jre\lib\deploy.jar;D:\environment\Java\jdk_8u92\jre\lib\ext\access-bridge-64.jar;D:\environment\Java\jdk_8u92\jre\lib\ext\cldrdata.jar;D:\environment\Java\jdk_8u92\jre\lib\ext\dnsns.jar;D:\environment\Java\jdk_8u92\jre\lib\ext\jaccess.jar;D:\environment\Java\jdk_8u92\jre\lib\ext\jfxrt.jar;D:\environment\Java\jdk_8u92\jre\lib\ext\localedata.jar;D:\environment\Java\jdk_8u92\jre\lib\ext\nashorn.jar;D:\environment\Java\jdk_8u92\jre\lib\ext\sunec.jar;D:\environment\Java\jdk_8u92\jre\lib\ext\sunjce_provider.jar;D:\environment\Java\jdk_8u92\jre\lib\ext\sunmscapi.jar;D:\environment\Java\jdk_8u92\jre\lib\ext\sunpkcs11.jar;D:\environment\Java\jdk_8u92\jre\lib\ext\zipfs.jar;D:\environment\Java\jdk_8u92\jre\lib\javaws.jar;D:\environm