一、SSM整合流程
1.创建工程
(1)补结构
(2)打war包、导坐标
(3)Tomcat插件
2.SSM整合
(1)Spring
SpringConfig配置类
@Configuration
@ComponentScan("com.service")
@PropertySource("classpath:jdbc.properties")
@Import({JdbcConfig.class,MybatisConfig.class})
public class SpringConfig {
}
(2)Mybatis
1)jdbc.properties文件
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/db1?useSSL=false jdbc.username=**** jdbc.password=****
2)JdbcConfig
public class JdbcConfig {
@Value("${jdbc.driver}")
private String driver;
@Value("${jdbc.url}")
private String url;
@Value("${jdbc.username}")
private String username;
@Value("${jdbc.password}")
private String password;
@Bean
public DataSource dataSource(){
DruidDataSource ds=new DruidDataSource();
ds.setDriverClassName(driver);
ds.setUrl(url);
ds.setUsername(username);
ds.setPassword(password);
return ds;
}
}
3)MyBatisConfig
public class MybatisConfig {
@Bean
public SqlSessionFactoryBean sqlSessionFactory(DataSource dataSource) {
SqlSessionFactoryBean ssfb = new SqlSessionFactoryBean();
ssfb.setDataSource(dataSource);
return ssfb;
}
@Bean
public MapperScannerConfigurer mapperScannerConfigurer() {
MapperScannerConfigurer msc = new MapperScannerConfigurer();
msc.setBasePackage("com.dao");
return msc;
}
}
(3)SpringMVC
1)ServletConfig
public class ServletConfig extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class[]{SpringConfig.class};
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[]{SpringMvcConfig.class};
}
@Override
protected String[] getServletMappings() {
return new String[]{"/"};
}
}
2)SpringMvcConfig
@Configuration
@ComponentScan("com.controller")
@EnableWebMvc
public class SpringMvcConfig {
}
3.功能模块
(1)数据库表与pojo
(2)dao层
(3)service层
1)XXXService
2)XXXServiceImpl
(4)web层(controller)
二、接口测试
1.测试业务层接口
用Junit测试。
(1)Spring整合Junit
(2)测试业务层接口
2.测试表现层接口
用PostMan测试。
三、配置Spring事务
1.开启事务
2.创建事务管理器Bean
因为事务管理器利用DataSource对象控制事务,所以把事务管理器写在JdbcConfig中。
3.添加Spring事务管理
给业务层所有的方法都添加事务:
四、web层数据封装
1.创建数据返回结果类
2.创建结果状态码集
【tips】Result类和Code类一般放在controller包下。
3.修改Controller
修改Controller中返回数据的格式,统一返回Result对象:

京公网安备 11010502036488号