引入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的支持
-
引入依赖
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
-
引入依赖
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 -
创建三层架构需要的包:mapper、pojo、service
-
编写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; }}
-
编写mapper接口
// 该接口不需要写实现类,mybatis会根据动态代理机制自动生成实现类
public interface AccountMapper {
int update(Account getAccount);
int insert(Account getAccount);
int delete(String actno);
Account getAccount(String actno);
ListgetAllAccount();
} -
编写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> -
编写service和service的实现类
public interface AccountService {
int addAccount(Account account);
int updateAccount(Account account);
int deleteAccount(String actno);
Account getAccount(String actno);
ListgetAllAccount();
}@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(); }}
-
编写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 -
编写mybaits-config.xml配置文件
<settings> <setting name="logImpl" value="STDOUT_LOGGING"/> </settings> -
编写spring.xml配置文件