spring对junit的支持

引入spring和junit4的依赖

复制代码
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>6.0.4</version>
</dependency>
<!--        spring对junit支持的依赖,spring6既支持junit4也支持junit5  -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>6.0.4</version>
        </dependency>
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.13.2</version>
    <scope>test</scope>
</dependency>

2.编写测试类

复制代码
@RunWith(SpringJUnit4ClassRunner.class)
// 加载spring.xml配置文件 加载spring容器
@ContextConfiguration("classpath:spring.xml")
public class SpringJunit4Test {

    @Autowired
    private Account account;

    @Test
    public void testSpringJunit4(){
        System.out.println(account.getActno());
    }
}

spring对junit5的支持

  1. 引入依赖

    org.springframework spring-context 6.0.4 org.springframework spring-test 6.0.4 org.junit.jupiter junit-jupiter 5.9.2 test

2.编写测试类

复制代码
@ExtendWith(SpringExtension.class)
@ContextConfiguration("classpath:spring.xml")
public class SpringJunit5Test {

    @Autowired
    private Account account;

    @org.junit.jupiter.api.Test
    public void testSpringJunit5(){
        System.out.println(account.getActno());
    }
}

spring集成mybatis

  1. 引入依赖

    org.springframework spring-context 6.0.21 org.springframework spring-jdbc 7.0.2 mysql mysql-connector-java 8.0.30 org.mybatis mybatis 3.5.19 org.mybatis mybatis-spring 4.0.0 com.alibaba druid 1.1.20 junit junit 4.13.2 test
  2. 创建三层架构需要的包:mapper、pojo、service

  3. 编写pojo类

    public class Account {
    private String actno;
    private double balance;

    复制代码
     @Override
     public String toString() {
         return "Account{" +
                 "actno='" + actno + '\'' +
                 ", balance=" + balance +
                 '}';
     }
    
     public Account() {
     }
    
     public Account(String actno, double balance) {
         this.actno = actno;
         this.balance = balance;
     }
    
     public String getActno() {
         return actno;
     }
    
     public void setActno(String actno) {
         this.actno = actno;
     }
    
     public double getBalance() {
         return balance;
     }
    
     public void setBalance(double balance) {
         this.balance = balance;
     }

    }

  4. 编写mapper接口

    // 该接口不需要写实现类,mybatis会根据动态代理机制自动生成实现类
    public interface AccountMapper {
    int update(Account getAccount);
    int insert(Account getAccount);
    int delete(String actno);
    Account getAccount(String actno);
    List getAllAccount();
    }

  5. 编写mapper配置文件

    insert into t_act(actno, balance) values(#{actno}, #{balance})
    复制代码
     <delete id="delete" >
         delete
         from t_act
         where actno = #{actno}
     </delete>
    
     <update id="update" parameterType="com.ali.pojo.Account">
         update t_act
         set name  = #{name},
             money = #{money}
         where actno = #{actno}
     </update>
    
     <select id="getAccount"  resultType="com.ali.pojo.Account">
         select actno, balance
         from t_act
         where actno = #{actno}
     </select>
    
     <select id="getAllAccount" resultType="com.ali.pojo.Account">
         select actno, balance
         from t_act
     </select>
  6. 编写service和service的实现类

    public interface AccountService {
    int addAccount(Account account);
    int updateAccount(Account account);
    int deleteAccount(String actno);
    Account getAccount(String actno);
    List getAllAccount();
    }

    @Service("accountService")
    public class AccountServiceImpl implements com.ali.service.AccountService {

    复制代码
     @Autowired
     private AccountMapper accountMapper;
    
     @Override
     public int addAccount(Account account) {
         return accountMapper.insert(account);
     }
    
     @Override
     public int updateAccount(Account account) {
         return accountMapper.update(account);
     }
    
     @Override
     public int deleteAccount(String actno) {
         return accountMapper.delete(actno);
     }
    
     @Override
     public Account getAccount(String actno) {
         return accountMapper.getAccount(actno);
     }
    
     @Override
     public List<Account> getAllAccount() {
         return accountMapper.getAllAccount();
     }

    }

  7. 编写jdbc.properties配置文件

    jdbc.driver=com.mysql.cj.jdbc.Driver
    jdbc.url=jdbc:mysql://localhost:3306/spring6?useSSL=false&serverTimezone=UTC
    jdbc.username=root
    jdbc.password=yourpassword

  8. 编写mybaits-config.xml配置文件

    复制代码
    <settings>
        <setting name="logImpl" value="STDOUT_LOGGING"/>
    </settings>
  9. 编写spring.xml配置文件

相关推荐
Bingo_BIG2 天前
Java Spring框架:单表的查询、新增、修改、删除、导入、导出
java·spring·前后端
paopaokaka_luck2 天前
智慧社区综合服务小程序(人脸识别、AI问答、Echarts图形化分析)
前端·javascript·spring boot·spring·数据分析·echarts
牧瀬クリスだ2 天前
YAML配置详解:SpringBoot实战指南
java·spring·yml
需要8262 天前
JVM 内存区域与对象创建:一次 GC 从哪来
java·jvm·spring boot·spring·servlet·tomcat
paopaokaka_luck2 天前
考研政治刷题小程序(AI推荐题目、ECharts数据分析、章节练习与专项训练、模拟考试、错题本与收藏夹、学习打卡与目标管理、题库和组卷维护)
前端·javascript·spring boot·spring·数据分析·echarts
步行cgn2 天前
Spring 基于 XML 的自动装配:byType 详解
java·后端·spring
边境悍匪2 天前
蜗牛学苑 Java 智能体学习 Day46|贯穿项目 2 思维导图复盘
java·开发语言·vue.js·学习·spring
步行cgn3 天前
Spring c 命名空间注入详解
java·后端·spring
需要8263 天前
MySQL 索引 B+ 树与“查询为什么变慢了
java·spring boot·spring·spring cloud·tomcat
vx-程序开发3 天前
【计算机毕设】django校园跑腿服务系统83141
java·数据库·vue.js·spring boot·spring·elasticsearch·django