使用IDEA实现SSM整合(Maven+Spring+Mybatis+SpringMvc)

我是阿福,公众号「阿福聊编程」作者,一个在后端技术路上摸盘滚打的程序员,在进阶的路上,共勉!

文章已收录在 JavaSharing 中,包含Java技术文章,面试指南,资源分享。

本文是基于Maven工程实现SSM整合,主要是通过XML实现三大框架的整合,可能有的小伙伴会说XML早就过时了,现在人们都使用注解开发,但是不是这么认为,我个人觉得你XML 整合会了,注解能不会吗? 开干!!!!

SSM整合总体思路

使用IDEA实现SSM整合(Maven+Spring+Mybatis+SpringMvc)_第1张图片

Spring和MyBatis整合

整合JAR包


        
        
        
            org.springframework
            spring-orm
            4.3.2.RELEASE
        
        
        
            org.springframework
            spring-webmvc
            4.3.2.RELEASE
        
        
            org.springframework
            spring-test
            4.3.2.RELEASE
        
        
        
            org.aspectj
            aspectjweaver
            1.9.2
        
        
        
            cglib
            cglib
            2.2
        
        
        
            mysql
            mysql-connector-Java
            5.1.3
        
        
        
            com.alibaba
            druid
            1.0.31
        
        
        
            org.mybatis
            mybatis
            3.2.8
        
        
        
            org.mybatis
            mybatis-spring
            1.2.2
        
        
        
            log4j
            log4j
            1.2.17
        
        
            org.slf4j
            slf4j-api
            1.7.7
        
        
            org.slf4j
            slf4j-log4j12
            1.7.7
        

        
        
            org.codehaus.jackson
            jackson-mapper-asl
            1.9.2
        
        
        
            jstl
            jstl
            1.2
        
        
        
            junit
            junit
            4.12
            test
        
        
        
            javax.servlet
            servlet-api
            2.5
            provided
        
        
        
            javax.servlet.jsp
            jsp-api
            2.1.3-b06
            provided
        
    

创建Spring的配置文件

  • spring-persist-mybatis.xml ---数据源相关的配置
  • spring-persist-tx.xml ---事务相关的配置
  • spring-web-mvc.xml ---SpringMvc相关的配资

创建jdbc.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3307/crowdfunding?useUnicode=true&characterEncoding=utf8
jdbc.username=root
jdbc.password=123456

创建log4j.properties

log4j.rootLogger=DEBUG,myConsole
log4j.appender.myConsole=org.apache.log4j.ConsoleAppender
log4j.appender.myConsole.Target=System.out
log4j.appender.myConsole.layout=org.apache.log4j.PatternLayout
log4j.appender.myConsole.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n

配置数据源

在配置文件spring-persist-mybatis.xml,分为两步:加载外部的属性文件,配置数据源

    
    
    
    
        
        
        
        
    

数据源测试类

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations= {"classpath:/spring/spring-persist-mybatis.xml"})
public class AtcrowFundingAdminTest {
  @Autowired
  public DataSource dataSource;
  @Test
  public void DataSourceTest() throws Exception{
      System.out.println("数据源:"+dataSource.getConnection());
  }
} 

创建MyBatis全局配置文件

配置 mybatis-config.xml




    
    
        
        
        
        
    

配置SqlSessionFactoryBean

在配置文件:spring-persist-mybatis.xml,分为两步:配置SqlSessionFactoryBean,配置mybatis 的包扫描器


    
        
        
        
        
        
        
    
    
    
        
        
    

到这里spring-persist-mybatis.xml配置文件已经完成了。

完整的文件



    
    
    
    
    
    
        
        
        
        
    
    
    
        
        
        
        
        
        
    
    
    
        
        
    

配置声明式事务

所在配置文件:spring-persist-tx.xml

  • ​ 配置事务管理器
  • ​ 配置事务通知
  • ​ 配置事务切面


    
    
        
    
    
    
        
        
            
            
            
            
            

            
            
            
            
            
            

        
    
    
    
        
        
        
        
    

SpringMVC

配置spring-web-mvc.xml

开启注解驱动,配置视图解析器



    
    
    
    
        
        
    
    

配置web.xml

配置监听器(contextConfigLocation)加载spring-persist-mybatis.xml,spring-persist-tx.xml配置文件,

配置DispatchServlet加载spring-web-mvc.xml配置文件

配置过滤器编码的格式

这些文件在项目启动的时候加载到Sping容器当中。



    
    
        org.springframework.web.context.ContextLoaderListener
    
    
    
        contextConfigLocation
        classpath*:/spring/spring-persist-*.xml
    
    
    
        dispatcherServlet
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath*:spring/spring-web-mvc.xml
        
    
    
        dispatcherServlet
        *.action
    

    
    
        CharacterEncodingFilter
        org.springframework.web.filter.CharacterEncodingFilter
        
            encoding
            UTF-8
        
        
            forceRequestEncoding
            true
        
        
            forceResponseEncoding
            true
        
    

    
        CharacterEncodingFilter
        /*
    


创建Controller类测试

@Controller
@RequestMapping("admin")
public class AdminController {
    @Autowired
    public AdminService adminService;

    @RequestMapping("/findall")
    public String findAll(Model model) {
        List list = adminService.findAllAdmin();
        model.addAttribute("list", list);
        return "admin";
    }
}

请求路径:http://localhost:8080/ssm_war_exploded/admin/findall.action

页面响应

AdminBean{id=1, loginAcct='admin', userPswd='123', userName='你好', email='', createTime='null'}

到此SSM 基本功能的整合已经完成了。

源码下载

使用IDEA实现SSM整合(Maven+Spring+Mybatis+SpringMvc)_第2张图片

你可能感兴趣的:(使用IDEA实现SSM整合(Maven+Spring+Mybatis+SpringMvc))