基于SSM实现的Java后台开发项目搭建

对于SSM框架的介绍,项目结构的层级分离网上有很多介绍的资料,其实对于SSM框架的整合也有很多的教程,但我还是决定写下来,作为对自己的检查。在整合工程中,数据库使用的是mysql,数据库连接池使用的是HikariCP(HikariCP官网通过对比声称它是目前速度最快的数据库连接池),同时也配置了redis数据库连接池和redis客户端。

SSM框架整合

SSM整合,我分成了两个配置文件,分别为spring-mvc.xml和applicationContext.xml。同时还有资源文件,jdbc.properties、log4j.properties和redis.properties,另外需要注意的是,jackson导入的包和配置文件在spring3.x和spring4.x下是不一样的。完整目录如下:

基于SSM实现的Java后台开发项目搭建_第1张图片

pom.xml,引入常有的Java包


    4.0.0
    cn.scene
    cn.scene
    war
    1.0-SNAPSHOT
    cn.scene Maven Webapp
    http://maven.apache.org

    
        4.3.13.RELEASE
        3.4.5
        1.7.7
        1.2.17
    

    
        
            junit
            junit
            4.12
            provided
        
        
        
            org.springframework
            spring-test
            ${spring.version}
            provided
        
        
            org.springframework
            spring-core
            ${spring.version}
        
        
            org.springframework
            spring-web
            ${spring.version}
        
        
            org.springframework
            spring-oxm
            ${spring.version}
        
        
            org.springframework
            spring-tx
            ${spring.version}
        
        
            org.springframework
            spring-jdbc
            ${spring.version}
        
        
            org.springframework
            spring-webmvc
            ${spring.version}
        
        
            org.springframework
            spring-context-support
            ${spring.version}
        
        
            org.springframework
            spring-aop
            ${spring.version}
        
        
            aspectj
            aspectjweaver
            1.5.4
        
        
            aspectj
            aspectjrt
            1.5.4
        
        
        
            javax
            javaee-api
            7.0
        
        
        
            org.mybatis
            mybatis
            ${mybatis.version}
        
        
            org.mybatis
            mybatis-spring
            1.3.1
        
        
        
            mysql
            mysql-connector-java
            5.1.34
        
        
            com.zaxxer
            HikariCP
            2.7.4
        
        
        
            org.slf4j
            slf4j-api
            ${slf4j.version}
        
        
            org.slf4j
            slf4j-log4j12
            ${slf4j.version}
        
        
            log4j
            log4j
            ${log4j.version}
        
        
            jstl
            jstl
            1.2
        
        
        
            com.fasterxml.jackson.core
            jackson-core
            2.8.1
        
        
            com.fasterxml.jackson.core
            jackson-databind
            2.8.1
        
        
            com.fasterxml.jackson.core
            jackson-annotations
            2.8.1
        
        
        
            commons-fileupload
            commons-fileupload
            1.3.1
        
        
            commons-io
            commons-io
            2.4
        
        
            commons-codec
            commons-codec
            1.10
        
        
        
            redis.clients
            jedis
            2.9.0
        
    
    
        cn.scene
    

applicationContext.xml,整合Spring,Mybatis和Redis

主要实现自动扫描,自动注入和配置数据库,数据库连接池选用Hikari,理解时可参考代码中的注释。




    Spring公共配置

    
    

    
    
        
            
                classpath:jdbc.properties
                classpath:redis.properties
            
        
    

    
    
        
        
        
        
        
        
        
        
        
        
        
        
        
        
    

    
    
        
        
        
        
            
                
                    
                        
                            dialect = mysql
                            reasonable = true
                        
                    
                
            
        
    

    
        
    

    
    
        
        
    

    
    
        
    
    

    
    
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
    
    
    
        
        
        
        
        
    

jdbc.properties

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/dbName?useUnicode=true&characterEncoding=utf-8
username=root
password=123456
readOnly=false
connectionTimeout=30000
idleTimeout=6000000
maxLifetime=2850000
maximumPoolSize=15

log4j.properties

为了方便调试,一般都会使用日志来输出信息,Log4j是Apache的一个开放源代码项目,Log4j的配置很简单,而且也是通用的,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;

#定义LOG输出级别  
log4j.rootLogger=INFO,Console,File  
#定义日志输出目的地为控制台  
log4j.appender.Console=org.apache.log4j.ConsoleAppender  
log4j.appender.Console.Target=System.out  
#可以灵活地指定日志输出格式,下面一行是指定具体的格式  
log4j.appender.Console.layout = org.apache.log4j.PatternLayout  
log4j.appender.Console.layout.ConversionPattern=[%c] - %m%n  
#文件大小到达指定尺寸的时候产生一个新的文件  
log4j.appender.File = org.apache.log4j.RollingFileAppender  
#指定输出目录  
log4j.appender.File.File = logs/ssm.log  
#定义文件最大大小  
log4j.appender.File.MaxFileSize = 10MB  
# 输出所以日志,如果换成DEBUG表示输出DEBUG以上级别日志  
log4j.appender.File.Threshold = ALL  
log4j.appender.File.layout = org.apache.log4j.PatternLayout  
log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n  

redis.properties

该文件主要存放redis数据库中的key值,可以通过@Value()注入key值。

#缓存官网首页内容的key
HOME_INDEX=HOME_INDEX

到这里,便实现了Spring和Mybatis的整合。spring-mvc.xml是整合Spring-mvc的配置文件。主要是自动扫描控制器,视图模式和注解的启动,这里要注意的一点是Controller基础包要改成项目对应目录下的报名,jsp的目录也可自行修改到自己想要的目录。这里我把jsp页面放在了webapp根目录下。具体代码如下:

spring-mvc.xml




    
    
    
    
        
            
                text/html;charset=UTF-8
            
        
    
    
    
        
            
                 
            
        
    
    
    
        
        
        
    

    
    
        
        
        
        
        
        
    

接着配置web.xml文件,主要实现对spring-mybatis.xml和spring-mvc的引入,以及添加编码过滤器实现SSM的整合。具体代码如下:

web.xml



    Scene Application

    
        org.springframework.web.context.ContextLoaderListener
    
    
        contextConfigLocation
        classpath:applicationContext.xml
    
    
        mvc
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath:spring-mvc.xml
        
        1
    
    
        mvc
        *.html
    
    
    
        encodingFilter
        org.springframework.web.filter.CharacterEncodingFilter
        
            encoding
            UTF-8
        
    
    
        encodingFilter
        /*
    

    
        index.html
        index.jsp
    

至此,便是完成了SSM的整合,具体代码已托管github:SSM框架整合

 

你可能感兴趣的:(开源框架)