一、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对象:

(1)无msg

                

(2)有msg