使用基于注解的IoC完成单表的CRUD
# 42.使用基于注解的IoC完成单表的CRUD
我们使用注解改造上一篇博客中的案例
# 修改bean.xml
我们可以先清空bean.xml文件的内容。由于我们使用的注解,那么XML的名称空间和约束是不一样的,并且需要加上扫描的包的配置,此外service和dao的bean我们都可以不要了:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<context:component-scan base-package="com.peterjxl"/>
<!-- 配置数据源 -->
<bean id = "dataSource" class = "com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="com.mysql.cj.jdbc.Driver"/>
<property name = "jdbcUrl" value = "jdbc:mysql://localhost:3306/learnSpring"/>
<property name = "user" value = "learnSpringUser"/>
<property name = "password" value = "learnSpringPassword"/>
</bean>
<!-- 配置QueryRunner -->
<bean id = "runner" class = "org.apache.commons.dbutils.QueryRunner" scope = "prototype">
<constructor-arg name = "ds" ref = "dataSource"/>
</bean>
</beans>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 添加注解
我们在dao中添加注解,并且可以去掉set方法:
@Service("accountService")
public class AccountServiceImpl implements IAccountService {
@Autowired
private IAccountDao accountDao;
1
2
3
4
5
2
3
4
5
service层同理,加上注解并去掉set方法:
@Service("accountService")
public class AccountServiceImpl implements IAccountService {
@Autowired
private IAccountDao accountDao;
1
2
3
4
2
3
4
# 测试
此时我们可以测试下AccountServiceTest
中的方法,可以看到是能正常运行的
# 源码
本项目已将源码上传到GitHub (opens new window)和Gitee (opens new window)上。并且创建了分支demo6,读者可以通过切换分支来查看本文的示例代码。
上次更新: 2024/7/17 10:11:51