简介
- 本文将在 Spring 框架中,分别使用使用“XML”,“XML+注释”和“注解+Java”三种方式来演示数据库的转账操作。
项目环境
数据库代码
- 创建数据库spring,在数据库中创建 Account表。
1 | # 创建数据库 |
Maven依赖
pom.xml
1 | <dependencies> |
Spring配置文件
1 |
|
实体类
Account.java
1 | public class Account { |
持久层接口
AccountDao.java
1 | public interface AccountDao { |
业务层接口
AccountService.java
1 | public interface AccountService { |
测试类
junit
1 | import org.junit.Before; |
Spring整合junit
1 | import java_anno.config.SpringConfiguration; |
基于XML配置文件
此部分分为三部分
- 目录结构:帮助了解整个项目的基本结构,以及完整详细的代码。
- 依赖注入:此部分是本文着重比较的地方,单独分为一部分。
- CURD操作:与Spring框架的核心内容关系不大,可作为延展内容。
目录结构
- src
- main
- java
- service
- AccountServiceImp.java(业务层实现类)
- dao
- AccountDaoImp.java(持久层实习类)
- service
- resources
- Beans.xml(Spring配置文件)
- java
- main
持久层实现类
- 操作数据库
- 继承 JdbcDaoSupport
- 注入 DataSource
AccountDaoImp.java
1 | package xml.dao; |
业务层实现类
- 调用持久层方法
- 基于xml的方式注入
AccountServiceImp.java
1 | package xml.service; |
配置文件
- 依赖注入
- 开启事务管理
- AOP
- TransactionManager
Beans.xml
1 | <!-- DataSource --> |
基于XML配置文件和注解
目录结构
- src
- main
- java
- service
- AccountServiceImp.java(业务层实现类)
- dao
- AccountDaoImp.java(持久层实习类)
- service
- resources
- Beans.xml(Spring配置文件)
- java
- main
持久层实现类
- 操作数据库
- 注入 JdbcTemplate
AccountDaoImp.java
1 | package xml_anno.dao; |
业务层实现类
- 调用持久层方法
- 基于注解的方式注入
- 开启事务支持
- 基于注解的方式
AccountServiceImp.java
1 | package xml_anno.service; |
配置文件
- 依赖注入
- 开启注解扫描
Beans.xml
1 |
|
基于Java配置文件和注解
目录结构
- src
- main
- java
- service
- AccountServiceImp.java(业务层实现类)
- dao
- AccountDaoImp.java(持久层实习类)
- config
- SpringConfiguration.java(Java配置文件)
- JdbcConfig.java(Java配置文件)
- TransactionConfig.java(Java配置文件)
- service
- java
- main
持久层实现类
AccountDaoImp.java
1 | package java_anno.dao; |
业务层实现类
AccountServiceImp.java
1 | package java_anno.service; |
数据库连接工具类
jdbcConfig.properties
1 | jdbc.driver=com.mysql.jdbc.Driver |
Spring配置文件
SpringConfiguration.java
1 | package java_anno.config; |
数据库连接配置文件
JdbcConfig.java
1 | package java_anno.config; |
事务管理配置文件
TransactionConfig.java
1 | package java_anno.config; |