使用纯注解开发
目录结构

JdbcConfiguration
package com.itheima.Config;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import org.apache.commons.dbutils.QueryRunner;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import javax.sql.DataSource;
import java.beans.PropertyVetoException;
/**
* @author :lijunxuan
* @date :Created in 2019/5/25 21:41
* @description :
* @version: 1.0
*/
@Configuration
@ComponentScan("com.itheima")
public class JdbcConfiguration {
@Value("${jdbc.driver}")
private String driver;
@Value("${jdbc.url}")
private String jdbcUrl;
@Value("${jdbc.user}")
private String user;
@Value("${jdbc.password}")
private String password;
@Bean("dataSource")
public DataSource createDataSouce(){
ComboPooledDataSource dataSource = new ComboPooledDataSource();
try {
dataSource.setDriverClass(driver);
} catch (PropertyVetoException e) {
e.printStackTrace();
}
dataSource.setJdbcUrl(jdbcUrl);
dataSource.setUser(user);
dataSource.setPassword(password);
return dataSource;
}
@Bean("queryRunner")
public QueryRunner createQueryRunner(DataSource dataSource){
QueryRunner queryRunner = new QueryRunner(dataSource);
return queryRunner;
}
}
SpringConfiguration
package com.itheima.Config;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import org.apache.commons.dbutils.QueryRunner;
import org.springframework.context.annotation.*;
import javax.sql.DataSource;
import java.beans.PropertyVetoException;
/**
* @author :lijunxuan
* @date :Created in 2019/5/25 21:41
* @description :
* @version: 1.0
*/
@Configuration
@ComponentScan("com.itheima")
@PropertySource("db.properties")
@Import(JdbcConfiguration.class)
public class SpringConfiguration {
}
TestCRUD
package com.itheima;
import com.itheima.Config.SpringConfiguration;
import com.itheima.domain.Account;
import com.itheima.service.AccountService;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.util.List;
/**
* @author :lijunxuan
* @date :Created in 2019/5/25 17:36
* @description :
* @version: 1.0
*/
public class TestCRUD {
/**
* 查询所有用户信息
* @param
*/
@Test
public void testfindAll(){
ApplicationContext ac = new AnnotationConfigApplicationContext(SpringConfiguration.class);
AccountService accountService = ac.getBean(AccountService.class);
System.out.println("accountService:"+accountService);
List<Account> accountList = accountService.findAll();
System.out.println("accountList:"+accountList);
for (Account account1 : accountList) {
System.out.println(account1);
}
}
}
db.properties配置文件
