此文章是基于前一篇学习的,需要前一篇的main里的所有包,详情请看这里
spring配置文件
SpringConfigruation.java
package com.test.demo;
import javax.sql.DataSource;
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 org.springframework.context.annotation.PropertySource;
import com.alibaba.druid.pool.DruidDataSource;
// 配置类
@Configuration // 此类是一个配置类,作用就相当于此类是Spring的配置文件
//@ComponentScan(basePackages= {"com.dao","com.service"})
@ComponentScan(basePackages="com") // 指定加了那四个注解的包
@PropertySource("classpath:db.properties")
public class SpringConfigruation {
@Value("${jdbc.driverClassName}")
private String driver;
@Value("${jdbc.url}")
private String url;
@Value("${jdbc.username}")
private String user;
@Value("${jdbc.password}")
private String password;
@Bean(name="dataSource")
public DataSource getDataSource() {
DruidDataSource ds = new DruidDataSource();
ds.setDriverClassName(driver);
ds.setUrl(url);
ds.setUsername(user);
ds.setPassword(password);
return ds;
}
}
测试类:
package com.test.demo;
import java.util.List;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.Import;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner;
import com.bean.User;
import com.web.controller.UserController;
/**
* 案例测试类
*/
public class DemoTest {
@Test
public void testQuery() {
ApplicationContext ctx = new AnnotationConfigApplicationContext(SpringConfigruation.class);
UserController controller = ctx.getBean("userController", UserController.class);
List<User> users = controller.query();
for (User user : users) {
System.out.println(user);
}
}
}
测试结果:
UserDaoImpl........
UserServiceImpl........
UserController.........
十一月 07, 2019 6:17:15 下午 com.alibaba.druid.support.logging.JakartaCommonsLoggingImpl info
信息: {dataSource-1} inited
User [id=1, name=黄飞鸿, age=18, birthday=2019-11-07]