博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring、SpingMVC、MyBatis框架搭建中配置文件
阅读量:3786 次
发布时间:2019-05-22

本文共 12923 字,大约阅读时间需要 43 分钟。

        在进行ssm(Spring、Spring mvc Mybatis)框架搭建的时候,首先面临的是复杂的配置文件。下面我们将简单看一下个配置中的参数以及他们的含义。

  1. web.xml文件配置

    web.xml是web项目的入口,无论是何种JavaEE框架,总是通过web.xml进入项目。

    任何MVC框架都需要一个入口,SpringMVC的入口是在web.xml文件中的核心分发DispatcherServlet(前端控制器),需要对servlet进行配置。

        
web.xml里面的内容很多,是整个项目的配置文件,结合ssm,我们将可以将web.xml中的配置文件结构分为Spring容器配置(包含Spring_config的配置、Spring_MyBaties上下文的配置)、Spring_mvc的配置(即Servlet的配置)。
        在Spring容器的配置中,包含两部分,Spring容器的配置和Mybaties的配置,我们设置时,可以作为两部分设置,也可以将Mybaties放入Spring容器中的配置中。在这里,为了清楚展示结构,我们使用第一种方式。
    
contextConfigLocation
classpath:/spring/spring_config.xml, classpath:/spring/spring_mybatis_context.xml
        在servlet配置中,需要配置springMVC的核心调度器-dispatcherServlet。它是前端控制器的设计模式实现,提供Spring web MVC的集中访问点,负责职责的分派,与Spring IoC(inversion of Control)容器无缝结合,从而可获得Spring的优点。DispacherServlet默认使用WebApplationContext作为上下文。
    
SpringMVC
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:/spring/spring_mvc_config.xml
1
true
SpringMVC
/
        除了springmvc中的配置部分,在web.xml中还存在其他配置,字符集过滤、监听等(除此之外,我们也可以增加自己的配置内容),整体的web.xml配置文件内容如下:
Archetype Created Web Application
contextConfigLocation
classpath:/spring/spring_config.xml,classpath:/spring/spring_mybatis_context.xml
encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
true
encoding
UTF-8
encodingFilter
/*
org.springframework.web.context.ContextLoaderListener
org.springframework.web.util.IntrospectorCleanupListener
SpringMVC
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:/spring/spring_mvc_config.xml
1
true
SpringMVC
/
60
404
/jsp/public/404.jsp
500
/jsp/public/500.jsp
/index.jsp

2、Spring_config文件的配置

        Spring_config文件里面主要设置有关Spring容器的配置,用于开启基于注解的Spring功能,如果结合Mybatis的话,Mybatis的设置也应该放到Spring_config里面,但为了是结构层次更加明显,我们将Mybatis的设置部分单独放置到Mybatis_config.xml文件里面,通过Spring_Mybatis_context.xml引入到Spring_config.xml 文件中。(在此,我们将所有的配置文件放到   /resource/spring/**  目录下面,因为resource目录中的内容,在项目发布时,会自动发布到当前项目下,如果放到别的位置,需要在进行设置才能发布,比如,放到WEB-INF/spring目录下时,得需要指定WEB-INF/spring为源文件)。
    (1) context:component-scan 包扫描

        这个注解主要用于扫描主容器中的注解内容,包括service层等,但是不会扫描@Controller的注解,@controller将在SpringMVC中进行扫描(黄色背景的内容,修要改为自己的包路径)。

    (2) import标签和多文件配置
            在开发时,为了避免团队中的每个人都修改Spring配置文件,将每个人或者每个模块的配置内容都写成配置文件,然后使用import标签进行导入(引入配置文件的一种方式)。
  在此,我们将spring_mybatis_context.xml通过第二种方式加入到spring容器中的配置中,在web.xml中同时配置多个路径。
contextConfigLocation
/WEB-INF/spring/spring_config.xml, /WEB-INF/spring/spring_mybatis_context.xml
整个spring_config.xml文件内容如下:

(3) spring_mvc_config.xml文件的配置

        spring_mvc_config.xml主要是配置与spring mvc相关的内容,主要包括引入controller层注解、配置视图解析器、配置注解的处理器和处理映射器等等,与上面相同,spring_mvc_config.xml配置文件放在DataSource/spring/spring_mvc_config下面。
        整体的配置文件如下,里面包含了详细的配置说明,对于controller层配置、处理器映射器配置等都有多种方式,我们选择其中一种即可,将剩余的配置方式以注解的方式展示。对于非必要的一直配置内容也是以注解的方式展示,在实际运行时可以根据项目需求,将注解打开,对于需要根据项目更改的地方,使用背景色隔开。
        至此,已经完成spring和springmvc的配置,如果不需要添加数据库,到此已经配置完成,如果我们在项目中使用到数据库,并使用mybatis进行处理的话,我们接下来在进行第四部操作,配置Mybatis。

(4) spring_mybatis_config.xml文件的配置

        在mybatis层的配置文件中,主要包含mybatis_config.xml本身的配置,以及spring_mybatis_config.xml(spring与MyBatis上下文的配置)。由于spring_mybatis_config.xml中的内容与Spring_config.xml中的内容都属于spring的配置文件,因此这两部分的内容可以合并到一起。此处,为了ssm突出各模块之间的内容,将他们分开配置,然后通过(2)标题中叙述方式,一块引入到web.xml中。
        其中mybatis_config.xml的配置内容如下:
        
spring_mybatis_config.xml中,主要配置与数据库连接配置、指定与数据库sql相关的xml文件位置(sqlSession的工厂)、dao层接口的位置、事务管理、事务声明等,代码中添加了详细的注释,对于不同的添加方式,以注解的方式给出。对于需要更改的地方,添加背景色

数据库的配置文件如下,放置的目录为resource根目录下面,名称为jdbc.properties:

driver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/ssm_frameusername=rootpassword=123456#定义初始连接数initialSize=0#定义最大连接数maxActive=20#定义最大空闲maxIdle=20#定义最小空闲minIdle=1#定义最长等待时间maxWait=60000

至此,已完成ssm框架的整体配置,为了使用log4j,我们添加对log4g内容的配置。

(5)log4j.properties文件配置

#定义LOG输出级别log4j.rootLogger=INFO,Console,File#定义日志输出目的地为控制台log4j.appender.Console=org.apache.log4j.ConsoleAppenderlog4j.appender.Console.Target=System.out#可以灵活地指定日志输出格式,下面一行是指定具体的格式log4j.appender.Console.layout = org.apache.log4j.PatternLayoutlog4j.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 = ALLlog4j.appender.File.layout = org.apache.log4j.PatternLayoutlog4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n
至此已完成整个项目的配置。

(6)pom文件的内容

    构建项目时,使用的时maven项目,在pom中添加以下内容,需要注意的部已用部分背景色标注。

4.0.0
com.inspur
ssm-framework
war
1.0-SNAPSHOT
ssm-framework Maven Webapp
http://maven.apache.org
4.2.5.RELEASE
3.4.0
1.7.5
1.2.17
4.12
1.3.0
5.1.39
1.2.7
1.4
7.0
2.7.5
junit
junit
${junit.version}
test
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-aop
${spring.version}
org.springframework
spring-context-support
${spring.version}
org.springframework
spring-test
${spring.version}
org.mybatis
mybatis
${mybatis.version}
org.mybatis
mybatis-spring
${mybatis-spring.version}
javax
javaee-api
${javaee-api.version}
mysql
mysql-connector-java
${mysql-connector-java.version}
commons-dbcp
commons-dbcp
${commons-dbcp.version}
log4j
log4j
${log4j.version}
com.alibaba
fastjson
${fastjson.version}
org.slf4j
slf4j-api
${slf4j.version}
org.slf4j
slf4j-log4j12
${slf4j.version}
ssm-framework
src/main/java
**/*.xml
src/main/resources

总结:

           最后,由于在pom.xml中使用的是spring4以上的版本,可以与java1.8结合,所以编译环境可以设为java1.8.如果在构建项目是,出现什么问题,暂且可忽略掉与Java版本不匹配造成的原因。其次,在pom中我们也添加了测试类,大家也可以建立自己的测试方方法进行测试。

        本项目已上传到GitHub中,大家想看源码或者直接使用框架的话,可以将项目直接下载,配置自己的使用工具,进行运行。我的项目使用的工具时idea,里面配置了controller、dao、service层的等主要的项目的架构以及一个简单的项目(包含sql的创建),大家可以直接运行。项目的连接为

参考资料

【1】spring、spring mvc与MyBatis框架搭建基础开发环境 

注:参考资料中包含了利用idea详细的环境搭建过程。

转载地址:http://efktn.baihongyu.com/

你可能感兴趣的文章
web之监听器listener
查看>>
类加载器
查看>>
数据库设计
查看>>
Java虚拟机的内存分配和运行机制(粗谈)
查看>>
web开发之BaseServlet的使用
查看>>
初识Maven
查看>>
Maven分模块构建项目
查看>>
MyBatis初识
查看>>
MyBatis【进阶详解】
查看>>
面试题集锦(七)
查看>>
注解开发——Spring整合dao/service/web
查看>>
架构的演进
查看>>
Elastic-Job的基础使用
查看>>
策略过滤器的灵活性分析
查看>>
POI的使用
查看>>
Anaconda和PyCharm的下载、安装和配置
查看>>
Mockito单元测试简述
查看>>
GUAVA的常用方法汇总
查看>>
装饰器和门面设计模式介绍
查看>>
创建型模式——克隆模式
查看>>