intellij idea基于maven整合SSM框架初体验

在写代码之前我们先了解一下这三个框架分别是干什么的?
相信大以前也看过不少这些概念,我这就用大白话来讲,如果之前有了解过可以跳过这一大段,直接看代码!

SpringMVC:Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架或集成其他MVC开发框架,如Struts1,Struts2等。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、VelocityTilesiText和POI。Spring MVC 框架并不知道使用的视图,所以不会强迫开发者只使用 JSP 技术。Spring MVC 分离了控制器、模型对象、过滤器以及处理程序对象的角色,这种分离让它们更容易进行定制。

Spring:Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架。

你可能正在想“Spring不过是另外一个的framework”。当已经有许多开放 源代码(和专有) J2EEframework时,我们为什么还需要Spring Framework? Spring是独特的,因为若干个原因: 它定位的领域是许多其他流行的framework没有的。Spring致力于提供一种方法管理你的 业务对象 Spring是全面的和模块化的。Spring有分层的体系结构,这意味着你能选择使用它孤立的任何部分,它的架构仍然是内在稳定的。因此从你的学习中,你可得到最大的价值。例如,你可能选择仅仅使用Spring来简单化JDBC的使用,或用来管理所有的业务对象。 它的设计从底部帮助你编写易于测试的代码。Spring是用于测试驱动工程的理想的framework。 Spring对你的工程来说,它不需要一个以上的framework。Spring是潜在地一站式解决方案,定位于与典型应用相关的大部分基础结构。它也涉及到其他framework没有考虑到的内容。
MyBatis:如果你问我它跟鼎鼎大名的Hibernate有什么区别?我只想说,他更符合我的需求。第一,它能自由控制sql,这会让有数据库经验的人(当然不是说我啦~捂脸~)编写的代码能搞提升数据库访问的效率。第二,它可以使用xml的方式来组织管理我们的sql,因为一般程序出错很多情况下是sql出错,别人接手代码后能快速找到出错地方,甚至可以优化原来写的sql。
下面开始介绍如何整合SSM:
首先我们需要整合的实际上是spring和mybatis,因为spring和springmvc本来都是一个家族的东西,他们自己就实现了无缝整合。
首先点击新建工程:直接进入next下一步

接下来会让要输入下面的两内容,然后直接点击下一步:

接下来是选择工程名和工程放置的位置,最好放置的位置和工程要同名,下面的more setting可以不填,默认就可以了,填好之后,直接finish就可以了。

项目结构如下:

src

  -main
      –bin 脚本库
      –java java源代码文件
      –resources 资源库,会自动复制到classes目录里
      –filters 资源过滤文件
      –assembly 组件的描述配置(如何打包)
      –config 配置文件
      –webapp web应用的目录。WEB-INF、css、js等
  -test
      –java 单元测试java源代码文件
      –resources 测试需要用的资源库
      –filters 测试资源过滤库
  -site Site(一些文档)
target
LICENSE.txt Project’s license
README.txt Project’s readme

这里重点介绍一下resources这个目录,这个目录是存放Java项目的核心工程的配置文件,比如**.xml,比如**.properties等文件的,默认情况下配置文件一定要放在这个目录下面,要不然项目在运行的时候,是找不到配置文件的。当我们使用mybatis的时候,mapper调用接口和对应的mybatis的对应配置文件通常是放在同一个目录下面的。但是不在resources这个目录下面。这个时候就会出现找不到项目的问题,解决方案有两种:
第一种是办法很简单,就是直接在resources添加一个和src下面一模一样的包名的文件夹,然后把mybatis的xml配置文件放在这里面,名字要对应src下mapper里面的接口名就可以了。
第二种办法是在项目pom.xml中添加配置,例如下面:
    
        
            
                src/main/java
                
                    **/*.properties
                    **/*.xml
                
                false
            

            
                src/main/resources
                
                    **/*.properties
                    **/*.xml
                
                false
            
        
    
同时添加好pom.xml所需要的依赖包

            
            
                joda-time
                joda-time
                ${joda-time.version}
            
            
            
                org.apache.commons
                commons-lang3
                ${commons-lang3.version}
            
            
                org.apache.commons
                commons-io
                ${commons-io.version}
            
            
                commons-net
                commons-net
                ${commons-net.version}
            
            
            
                com.fasterxml.jackson.core
                jackson-databind
                ${jackson.version}
            
            
            
                org.apache.httpcomponents
                httpclient
                ${httpclient.version}
            
            
            
                org.quartz-scheduler
                quartz
                ${quartz.version}
            
            
            
                junit
                junit
                ${junit.version}
                test
            
            
            
                org.slf4j
                slf4j-log4j12
                ${slf4j.version}
            
            
            
                org.mybatis
                mybatis
                ${mybatis.version}
            
            
                org.mybatis
                mybatis-spring
                ${mybatis.spring.version}
            
            
                com.github.miemiedev
                mybatis-paginator
                ${mybatis.paginator.version}
            
            
                com.github.pagehelper
                pagehelper
                ${pagehelper.version}
            
            
            
                mysql
                mysql-connector-java
                ${mysql.version}
            
            
            
                com.alibaba
                druid
                ${druid.version}
            
            
            
                org.springframework
                spring-context
                ${spring.version}
            
            
                org.springframework
                spring-beans
                ${spring.version}
            
            
                org.springframework
                spring-webmvc
                ${spring.version}
            
            
                org.springframework
                spring-jdbc
                ${spring.version}
            
            
                org.springframework
                spring-aspects
                ${spring.version}
            
            
                org.springframework
                spring-jms
                ${spring.version}
            
            
                org.springframework
                spring-context-support
                ${spring.version}
            
            
            
                jstl
                jstl
                ${jstl.version}
            
            
                javax.servlet
                servlet-api
                ${servlet-api.version}
                provided
            
            
                javax.servlet
                jsp-api
                ${jsp-api.version}
                provided
            
            
            
                commons-fileupload
                commons-fileupload
                ${commons-fileupload.version}
            
            
            
                redis.clients
                jedis
                ${jedis.version}
            
            
            
                org.apache.solr
                solr-solrj
                ${solrj.version}
            
            
            
                com.alibaba
                dubbo
                ${dubbo.version}
            
            
                org.apache.zookeeper
                zookeeper
                ${zookeeper.version}
            
            
                com.github.sgroschupf
                zkclient
                ${zkclient.version}
            
            
                org.apache.activemq
                activemq-all
                ${activemq.version}
            
            
                org.freemarker
                freemarker
                ${freemarker.version}
            
        

创建好项目之后,接下来就正式开始进入整合阶段了,整合的核心配置文件都要放在resources下面:
第一步,创建一个mybatis的核心文件,放置在resources目录下面:



    
    
        
    
	

typeAliases是别名的配置,当然也可以不配置,就让这个mybatis的核心文件为空就可以了,但是必须要有。
第二步创建:sping的配置文件



    
    

    
    
        
        
        
        
        
        
    

    
    
        
        
        
        
    

    
    
        
        
    

这里面最主要的就是建立数据库连接池,配置Mapper动态代理,链接mybatis的核心文件
第三部是创建springmvc的核心配置



    
    
    
    
    
        
        
            
            
            
        
    
    
    
    
    
    
    

    
    
        
        
    
springmvc用于处理controller和service,开启试图解释器。
最后一部配置web.xml:让Tomcat在启动的时候,就制动加载上面的配置文件



    springmvc-mybatis
    
        index.html
        index.htm
        index.jsp
        default.html
        default.htm
        default.jsp
    

    
        contextConfigLocation
        classpath:applicationContext.xml
    
    
    
        org.springframework.web.context.ContextLoaderListener
    

    
    
        springmvc
        org.springframework.web.servlet.DispatcherServlet
        
        
            contextConfigLocation
            classpath:springmvc.xml
        
        
        
        
        1
    
    
        springmvc
        /
    
对于前端控制器拦截数据类型的说明:
1. /* 	 拦截所有   jsp  js png .css  真的全拦截   建议不使用
2. *	.action *.do 拦截以do action 结尾的请求     肯定能使用   ERP
3. / 	 拦截所有 (不包括jsp) (包含.js .png.css)  强烈建议使用     前台 面向消费者  www.jd.com/search   /对静态资源放行

至此启动Tomcat服务,三大框架已经整合完毕。

你可能感兴趣的:(java,intellij,idea,maven,spring,mvc,mybatis,ssm整合)