今天头一次配置成功一个SSM框架,兴奋之余,还应该从使用的角度,将整个ssm配置的方法,配置的原因,认真的分析一下。在结束了对SSM框架简单的分析之后,就要开始回归基础,全面的认真复习。所以这个文档,要尽量的完整,目标就是,这个文档是是对SSM框架的学习,也是一个将来复习的资料。
这个版本中的代码貌似无法复制,我将可以也可复制版也发布了,在我的博客中,但是没有很好的样式。
1 resources 配置文件
1.1 配置文件简介
这个部分用来解读在resources文件夹下的配置信息。这一部分是整个ssm框架中,最难的一部分,也是最复杂的一部分。在配置这个部分的时候,尽管是不停的肤质粘贴,偶尔改一改路径。但是这样的一个 过程要比写业务逻辑代码麻烦的多。
1.1.1 jdbc.properties
这个文件是用来保存和数据库连击的相关的信息,比如JDBC驱动器、数据库户名、数据库密码等等,和数据库相关的静态信息,都会以KV的形式,保存在这个文件中。这样在需要对数据库的信息进行改变时,只需要打开这个文件,就可以对数据库的配置进行改变。与之前传统数据库连接方式相比,在修改时,不用改变多处的信息。
1.1.2 spring-mvc.xml
和名字显示的显示的一样,这是一个对MVC配置的一个文件。简单来讲有下面的几点功能:
1
设定用来存放controller的包的位置。
2
以文件前缀、后缀的方式,设定存放JSP文件的路径。
我对这个文件的理解为,从controller获取执行哪一个文件的信息,在将这个信息,通过前缀和后缀的包装,传递给下一级。
1.1.3 spring-mybatis.xml
这个配置也常常叫做:applicationContext.xml,但是其实是一个东西,都是用来配置mybatis。
1
将标注Spring注解的类自动转化成Bean,并且完成Bean的注入。
2
配置数据库相关的资源。
3
配置数据库的sessionFactory
4
配置需要被扫描的用来存放DAO接口的接口包。
5
配置事务管理器。
1.1.4 UserDAO.xml
mapper.xml稍微好理解一些。就是使用DAO接口的全限定地址,和DAO中的操作数据库的sql方法,封装起来,那么调用DAO接口的某个方法的时候,就可以使用mapper.xml中封装的sql语句操作数据库。
通常在这个文件也叫做mapper.xml文件.
1.1.5 web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
????????xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
????????xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
????????version="3.1">
?
???<display-name>SSM</display-name>
???<description>SSM_test</description>
?
???<!-- 编码过滤器 -->
???<filter>
???????<filter-name>encodingFilter</filter-name>
???????<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
???????<init-param>
???????????<param-name>encoding</param-name>
???????????<param-value>UTF-8</param-value>
???????</init-param>
???</filter>
?
???<filter-mapping>
???????<filter-name>encodingFilter</filter-name>
???????<url-pattern>/*</url-pattern>
???</filter-mapping>
?
???<!-- 配置前端控制器Spring MVC DispatcherServlet -->
???<servlet>
???????<servlet-name>SpringMVC</servlet-name>
???????<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
???????<!-- 配置两个文件 -->
???????<init-param>
???????????<param-name>contextConfigLocation</param-name>
???????????<param-value>classpath:spring-*.xml</param-value>
???????</init-param>
?
???????<load-on-startup>1</load-on-startup>
???????<async-supported>true</async-supported>
???</servlet>
?
?
???<!--将所有的请求使用上面配置的 DispatcherServlet 分发器分发-->
???<servlet-mapping>
???????<servlet-name>SpringMVC</servlet-name>
???????<!-- 匹配所有请求,此处也可以配置成 *.do 形式 -->
???????<url-pattern>/</url-pattern>
???</servlet-mapping>
?
?
???<welcome-file-list>
???????<welcome-file>index.html</welcome-file>
???</welcome-file-list>
?
</web-app>
?
1.1.6 其他
Logback是一个关于log日志的配置文件,并没有使用sql文件夹。还有就是pom.xml文件,看起来很多,其实也就是添加了几个依赖罢了。
<?xml version="1.0" encoding="UTF-8"?>
?
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
?xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
?<modelVersion>4.0.0</modelVersion>
?
?<groupId>com.xzj</groupId>
?<artifactId>ssmSecondTry</artifactId>
?<version>1.0-SNAPSHOT</version>
?<packaging>war</packaging>
?
?<name>ssmSecondTry Maven Webapp</name>
?<!-- FIXME change it to the project‘s website -->
?<url>http://www.example.com</url>
?
?<properties>
???<!-- 设置项目编码编码 -->
???<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
???<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
???<!-- spring版本号 -->
???<spring.version>4.3.5.RELEASE</spring.version>
???<!-- mybatis版本号 -->
???<mybatis.version>3.4.1</mybatis.version>
?</properties>
?
?<dependencies>
?
???<!-- java ee -->
???<dependency>
?????<groupId>javax</groupId>
?????<artifactId>javaee-api</artifactId>
?????<version>7.0</version>
???</dependency>
?
???<!-- 单元测试 -->
???<dependency>
?????<groupId>junit</groupId>
?????<artifactId>junit</artifactId>
?????<version>4.12</version>
???</dependency>
?
???<!-- 实现slf4j接口并整合 -->
???<dependency>
?????<groupId>ch.qos.logback</groupId>
?????<artifactId>logback-classic</artifactId>
?????<version>1.2.2</version>
???</dependency>
?
???<!-- JSON -->
???<dependency>
?????<groupId>com.fasterxml.jackson.core</groupId>
?????<ar
知识推荐
- asp.net mvc 过滤器
- 看全国知名影视制作公司,如何使用GS 5200单一节点6GB/s进行存储
- npm ERR! Unexpected end of JSON input while parsing near '...nd-index-1.0.2.tgz"
- 前端JS复制特定区域的文本
- zblog文件大小超出,上传成功但插入不了
- 【原创】问题定位分享(16)spark写数据到hive外部表报错ClassCastException: org.apache.hadoop.hive.hbase.HiveHBaseTableOutputFormat cannot be cast to org.apache.hadoop.hive.ql.io.HiveOutputFormat
- extjs3.x ?在grid表格里添加超链接点击事件,并触发有效。
- three.js入门系列之材质
- PHP文件函数
- web前端学习(五)(8)-- jQuery元素遍历
- kubernetes之kubectl命令用法总结
- web安全实践
- 通过ECMA6的模块化,纯前端实现类似jsp:include的功能
- HTTP 文件共享服务器工具 - chfs
- Mvc项目解决方案分析
- Kubernetes 控制器之 Service 讲解(七)
- js proxy 代理模拟vue实现数据双向绑定
- Http请求中Content-Type