导入mysql数据驱动坐标和连接池的坐标
- 导入mysql数据驱动坐标和连接池的坐标
- 创建jdbc.properties配置文件
- Spring容器加载配置文件
- bean数据源对象,并通过set方法注入变量值
创建jdbc.properties配置文件org.springframework spring-context5.1.5.RELEASE mysql mysql-connector-java5.1.39 com.alibaba druid1.1.10
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/test jdbc.username=root jdbc.password=123456Spring容器加载配置文件
需先引入context命名空间
加载配置文件
bean数据源对象,并通过set方法注入变量值
Spring注解开发
原始注解:主要是替代bean的开发
新注解:替代其他
注意:使用注解进行开发时,需要在applicationContext.xml中配置组件扫描,作用是指定哪个包及其子包下的Bean需要进行扫描以便识别使用注解配置的类、字段和方法。
| 原始注解 | 说明 |
|---|---|
| @Component | 在类上使用,替代bean的实例化 |
| @Controller | web层实例化bean |
| @Service | service层实例化bean |
| @Repository | dao层实例化bean |
| @Autowired | 在字段上使用,根据类型进行依赖注入 |
| @Qualifier | 和@Autowired一起使用,根据名称进行依赖注入 |
| @Resource | 相当于@Autowired+@Qualifier |
| @Value | 注入普通属性 |
| @Scope | 标注bean的作用范围 |
| @PostConstruct | 使用在方法上标注该方法是Bean的初始化方法 |
| @PreDestroy | 使用在方法上标注该方法是Bean的销毁方法 |
| 新注解 | 说明 |
|---|---|
| @Configuration | 指定该类为配置类,当创建容器时会从该类上加载注解 |
| @ComponentScan | 用于指定 Spring 在初始化容器时要扫描的包。 作用和在 Spring 的 xml 配置文件中的 |
| @Bean | 使用在方法上,标注将该方法的返回值存储到 Spring 容器中 |
| @PropertySource | 用于加载.properties 文件中的配置 |
| @import | 用于导入其他配置类 |
配置文件转换成核心配置类
package org.example.confing;
import com.alibaba.druid.pool.DruidDataSource;
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 javax.sql.DataSource;
//指代类为配置类
@Configuration
//组件扫描
@ComponentScan("org.example")
//加载配置文件
@PropertySource("classpath:jdbc.properties")
public class SpringConfing {
@Value("${jdbc.driver}")
private String driver;
@Value("${jdbc.url}")
private String url;
@Value("${jdbc.username}")
private String username;
@Value("${jdbc.password}")
private String password;
@Bean("dataSource")
public DataSource getDataSource(){
// 配置数据源信息
DruidDataSource dataSource = new DruidDataSource();
dataSource.setDriverClassName(driver);
dataSource.setUrl(url);
dataSource.setUsername(username);
dataSource.setPassword(password);
return dataSource;
}
}
Spring集成Junit
导入spring集成Junit的坐标
使用@Runwith注解替换原来的运行期
使用@ContextConfiguration指定配置文件或配置类
使用@Autowired注入需要测试的对象
创建测试方法进行测试
导入spring集成Junit的坐标
org.springframework spring-test5.0.5.RELEASE junit junit4.13 test
测试用例
import org.example.confing.SpringConfing;
import org.example.service.UserService;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
//替换原来的运行期
@RunWith(SpringJUnit4ClassRunner.class)
//指定的配置类或文件
@ContextConfiguration(classes = {SpringConfing.class})
public class Test {
@Autowired
private UserService userService;
@org.junit.Test
public void eat(){
userService.eat();
}
}



