1. Java Spring配置数据源
在Java Spring中配置数据源可以使用两种方式:
- 使用XML配置文件
- 使用Java注解
这里我们介绍使用Java注解的方式。首先需要在pom.xml文件中添加以下依赖:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jdbc</artifactId>
</dependency>
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
</dependency>
</dependencies>
接下来就是配置数据源了,利用Spring封装的DataSourceBuilder,代码如下:
@Configuration
public class DataSourceConfig {
@Bean
@ConfigurationProperties(prefix = "spring.datasource.hikari")
public DataSource getDataSource() {
return DataSourceBuilder.create().type(HikariDataSource.class).build();
}
}
其中,我们使用了@Configuration注解,表示这是一个配置类;使用@Bean注解,表示返回值将被注册为一个Spring Bean。@ConfigurationProperties注解用于读取配置文件中的配置。
2. 注解开发
Spring使用注解的方式来实现Bean的管理,下面我们会对注解进行详细介绍。
2.1 @Component
@Component注解用于定义组件,通常和@Autowired一起使用。例如:
@Component
public class MyComponent {
public void sayHello() {
System.out.println("Hello World!");
}
}
2.2 @Autowired
@Autowired注解可以自动装配Bean,例如:
@Component
public class MyComponent {
@Autowired
private UserService userService;
public void sayHello() {
System.out.println(userService.getUser().getName());
}
}
2.3 @RestController
@RestController注解表示这是一个REST风格的控制器,例如:
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello() {
return "Hello World!";
}
}
2.4 @RequestMapping
@RequestMapping注解用于映射请求路径和控制器方法,例如:
@RestController
@RequestMapping("/user")
public class UserController {
@GetMapping("/{id}")
public User getUser(@PathVariable("id") Long id) {
return userService.getUserById(id);
}
}
2.5 @Transactional
@Transactional注解用于开启事务,例如:
@Transactional
public class UserServiceImpl implements UserService {
@Override
public void saveUser(User user) {
userDao.save(user);
}
}
3. 整合Junit
Junit是一个功能强大的Java测试框架,可以帮助我们编写高质量的单元测试。
3.1 添加Junit依赖
在pom.xml中添加Junit依赖:
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
3.2 编写单元测试
假设我们要测试用户服务,可以编写如下测试类:
@SpringBootTest
public class UserServiceTest {
@Autowired
private UserService userService;
@Test
public void testSaveUser() {
User user = new User();
user.setName("test");
userService.saveUser(user);
User savedUser = userService.getUserByName("test");
assertNotNull(savedUser);
assertEquals(user.getName(), savedUser.getName());
}
}
可以看到,我们使用了@SpringBootTest注解,表示启动Spring容器进行测试。
4. 示例
4.1 配置数据源
参考上文中的代码,使用Java注解的方式配置数据源。
4.2 注解开发
编写一个用户服务接口和实现类,代码如下:
public interface UserService {
User getUserById(Long id);
void saveUser(User user);
}
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserDao userDao;
@Override
public User getUserById(Long id) {
return userDao.getById(id);
}
@Override
public void saveUser(User user) {
userDao.save(user);
}
}
4.3 整合Junit
参考上文中的代码,编写UserServiceTest测试类,测试UserService的saveUser方法。
至此,Java Spring详解如何配置数据源注解开发以及整合Junit攻略完结。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java Spring详解如何配置数据源注解开发以及整合Junit - Python技术站