Maven项目SSM配置文件结构
SSM框架配置文件一般放置在resources文件夹下。
SSM框架配置说明
配置文件主要分为六类:
第一类web.xml :作用1.主要包含SpringMVC的前端控制器。2.过滤器配置。
1.配置SpringMVC的DispatcherServlet(前端控制器),负责接收客户端所有请求。

<?xml version="1.0" encoding="UTF-8"?>
<web-app   
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_1.xsd"
version="3.1"
metadata-complete="true">
<display-name>Archetype Created Web Application</display-name>

  <!-- 1.DispatcherServlet前端控制器 -->
<servlet>
	<servlet-name>ds-dispatcher</servlet-name>
	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
	<init-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:spring/spring-*.xml</param-value>
	</init-param>
</servlet>
<servlet-mapping>
	<servlet-name>ds-dispatcher</servlet-name>
	<url-pattern>/</url-pattern>
</servlet-mapping>
<!--2. 配置过滤器filter,对所有请求进行过滤和拦截 -->
<filter>
	<filter-name>characterEncodingFilter</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>
	<init-param>
	<!-- 指定拦截的请求使用指定的编码方式进行解析 -->
		<param-name>forceEncoding</param-name>
		<param-value>true</param-value>
	</init-param>
</filter>
<filter-mapping>
	<filter-name>characterEncodingFilter</filter-name>
	<!-- 对所以url进行匹配拦截 -->
	<url-pattern>/*</url-pattern>
</filter-mapping>

第二类:Spring:(主要包括Dao层,service层,web层三层配置)
1.spring-dao:作用1.数据库配置文件的加载、2.数据库连接池配置、3.数据库会话工厂配置、4.扫描加载mapper资源,包括接口,数据库会话。

<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
	http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context.xsd">
<!-- 1.加载数据库参数文件 -->
<context:property-placeholder location="classpath:jdbc.properties"/>
<!-- 2.c3p0连接池  配置数据库连接池  获取jdbc.properties参数 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
	<!-- 获取连接池属性 -->
	 <property name="driverClass" value="${jdbc.driver}"/>
	 <property name="jdbcUrl" value="${jdbc.url}"/>
	 <property name="user" value="${jdbc.username}"/>
	 <property name="password" value="${jdbc.password}"/>
	 <!-- 数据库连接池最大连接数 -->
	 <property name="maxPoolSize" value="30"/>
	 <!-- 数据库连接池最小连接数 -->
	 <property name="minPoolSize" value="10"/>
	 <!-- 数据库连接超时时间 -->
	 <property name="checkoutTimeout" value="10000"/>
	 <!-- 当前连接失败时可重新连接次数 -->
	 <property name="acquireRetryAttempts" value="3"/>
	 <!-- 关闭连接时 不自动提交commit 即手动提交事务-->
	 <property name="autoCommitOnClose" value="false"/>
</bean>
<!-- 3.配置sqlSessionFactory对象 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
	<!-- 注入数据库连接池,ref引用数据库连接池的id -->
	<property name="dataSource" ref="dataSource"/>
	<!-- 加载mybatis的全局配置 mybatis-config.xml -->
	<property name="configLocation" value="classpath:mybatis-config.xml"/>
	<!-- 扫描pojo包 用于mybatis别名 如果有多个则使用;隔开 -->
	<property name="typeAliasesPackage" value="cc.ccoder.ds.pojo"/>
	<!--扫描mapper文件下所有以xml为结尾的配置文件,主要是sql配置文件 -->
	<property name="mapperLocations" value="classpath:mapper/*.xml"/>
</bean>
<!-- 4.配置扫描Dao接口包 动态实现Dao接口 注入到spring容器 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
	<!-- 扫描dao接口所在的包路径,value值代表包名 -->
	<property name="basePackage" value="cc.ccoder.ds.dao"/>
	<!-- 注入sqlSessionFactory  value代码数据库会话工厂类-->
	<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
</bean>
</beans>

2.Spring-service:作用1.扫描service中所有注解类。2.创建Spring事务管理器。3.设定基于注解的声明式事务

<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
	http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context.xsd
    http://www.springframework.org/schema/tx
    http://www.springframework.org/schema/tx/spring-tx.xsd
    ">
 <!--1.扫描service包下所有使用注解的类 -->
   <context:component-scan base-package="cc.ccoder.ds.service"/>
 <!--2.配置事务管理器 -->
   	<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
   		<!-- 注入数据库连接池给事务管理器 -->
   		<property name="dataSource" ref="dataSource"/>
   	</bean>
 <!--3.基于注解的声明式事务管理  -->
   <tx:annotation-driven transaction-manager="transactionManager"/><tx:annotation-driven/>
   </beans>

3.Spring-web:1.配置SpringMVC。2.加载静态资源。3.配置视图模板解析器。4.扫描web层相关的controller类。

<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="
	http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context.xsd
    http://www.springframework.org/schema/mvc
    http://www.springframework.org/schema/mvc/spring-mvc.xsd
    ">
   <!--1. 配置SpringMVC -->
   <mvc:annotation-driven/>
   <!--2.静态资源配置 
   	- 对加入的静态资源处理 js git png
   	- 允许使用"/" 做整体映射 
   -->
   <mvc:default-servlet-handler/>
   <!-- 3.配置视图解析器  解析JSP HTML等视图模板-->
  <bean id="jspTemplateResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  	<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
  	 <!--根目录(src)下的前缀-->
  	<property name="prefix" value="/WEB-INF/view/"/>
  	  <!--页面的文件后缀-->
  	<property name="suffix" value=".jsp"/>
  </bean>
  <!-- 4.扫描Web相关的bean Controller所在的包 -->
  <context:component-scan base-package="cc.ccoder.ds.controller"/>
  </beans>

第三类:数据库、日志配置文件(处于src文件夹下,直接在src右键新建或粘贴即可)
jdbc.properties 数据库配置文件(可以保护最大连接数等等,此处简写)

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://IP/dataBaseName?useUnicode=true&characterEncoding=utf-8
jdbc.username=数据库登录名
jdbc.password=数据库登录密码

logback.xml 日志配置文件

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true">
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <!-- encoders are  by default assigned the type
         ch.qos.logback.classic.encoder.PatternLayoutEncoder -->
    <!--1.指定日志格式及编码-->
    <encoder>
        <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
    <charset>UTF-8</charset>
</appender>
 <!--2.指定日志打印到指定的文件目录中。路径设置不全,默认是tomcat盘中 log文件夹中。名为ds.log-->
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
    <file>/log/ds.log</file>
    <encoder>
        <pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern>
    </encoder>
</appender>
<!--3.-指定日志的级别,日志分别应用到文件和控制台-->
<root level="debug">
    <appender-ref ref="FILE" />
    <appender-ref ref="STDOUT"/>
</root>
<!--4.-指定日志的对象和级别,日志分别应用到文件和控制台-->
<logger name="org.mybatis" level="DEBUG"/>
</configuration>

第四类:mybatis核心配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
    PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- mybatis全局配置 -->
<settings>
	<!-- 使用JDBC的getGenerateKeys,支持获取自增id -->
	<setting name="useGeneratedKeys" value="true"/>
	<!-- 使用列别名替换别名  默认为true -->
	<setting name="useColumnLabel" value="true"/>
	<!-- 开启驼峰命名 -->
	<setting name="mapUnderscoreToCamelCase" value="ture"/>
</settings>
<typeAliases>
	<!-- 设置对象别名,表示在扫描包中所有的注解类,如没有指定类名,此处的别名对应sql的mapper.xml文件中的属性类型(parameterType)和结果类型(resultType)。方便统一管理 -->
	<package name="cc.ccoder.ds.pojo"/>
</typeAliases>
</configuration>

第五类:UserMapper.xml:sql语句配置文件,用于管理sql语句的编辑。

<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<!-- 映射空间名,一般一个实体对应一个空间名,方便sql语句的准确识别。 -->
<mapper namespace="cc.ccoder.ds.dao.UserDao">
<!-- 定义sql变量,存储常用字段,便于操作时引用 -->
<sql id="base_list">
	id,username,password,telephone,email
</sql>
<!-- 查询操作,引用sql变量。id表示执行的语句标识,一般同java方法同名,便于管理,#{name},表示实体类的属性名 -->
<select id="findUser" resultType="User">
	select <include refid="base_list"/> from user where username = #{username} and password = #{password}
</select>
<delete id="deleteUserById">
    delete from user where id = #{id}
</delete>
<!-- if判空。 -->
<update id="updateUser" parameterType="User">
    update user
    <set>
        <if test="username != null and username != ''">
            username = #{username},
        </if>
        <if test="password != null and password != ''">
            password = #{password},
        </if>
        <if test="telephone != null and telephone != ''">
            telephone = #{telephone},
        </if>
        <if test="email != null and email != ''">
            email = #{email}
        </if>
    </set>
    where id = #{id}
</update>
</mapper>

第六类:pom.xml
下载依赖包,根据框架的需要,注入框架jar包,mysql连接jar包,c3p0等连接池jar包等等。可以通过Maven仓储:https://mvnrepository.com/ 搜索需要的依赖jar包。
SSM框架配置说明
pom.xml

<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
 <groupId>ccoder.cc</groupId>
<artifactId>ds</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>ds Maven Webapp</name>
 <url>http://maven.apache.org</url>
<dependencies>

<!-- 日志
	- log4j logback common-logging 日志实现
	- slf4j 日志接口 规范 门面
    - 在此使用 slf4j + logback
 -->
<dependency>
	<groupId>org.slf4j</groupId>
	<artifactId>slf4j-api</artifactId>
	<version>1.7.25</version>
</dependency>
<!-- logback 核心依赖 -->
<dependency>
	<groupId>ch.qos.logback</groupId>
	<artifactId>logback-core</artifactId>
	<version>1.2.3</version>
</dependency>
<!-- 实现slf4j接口 并且整合 -->
<dependency>
	<groupId>ch.qos.logback</groupId>
	<artifactId>logback-classic</artifactId>
	<version>1.2.3</version>
</dependency>


<!-- 数据库相关依赖 -->
<!-- mysql jdbc 驱动 -->
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.6</version>
</dependency>

<!-- c3p0数据库连接池 -->
<dependency>
    <groupId>com.mchange</groupId>
    <artifactId>c3p0</artifactId>
    <version>0.9.5.2</version>
</dependency>

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.4.6</version>
</dependency>
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>1.3.2</version>
</dependency>



<!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>4.3.13.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-beans</artifactId>
    <version>4.3.13.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>4.3.13.RELEASE</version>
</dependency>


<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>4.3.13.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-tx -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-tx</artifactId>
    <version>4.3.13.RELEASE</version>
</dependency>





<!-- https://mvnrepository.com/artifact/org.springframework/spring-web -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>4.3.13.RELEASE</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>4.3.13.RELEASE</version>
</dependency>



 <!-- 单元测试 -->
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-test -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
    <version>4.3.13.RELEASE</version>
</dependency>


<!-- https://mvnrepository.com/artifact/taglibs/standard -->
<dependency>
    <groupId>taglibs</groupId>
    <artifactId>standard</artifactId>
    <version>1.1.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/jstl/jstl -->
<dependency>
    <groupId>jstl</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <scope>provided</scope>
</dependency>


<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.9.5</version>
</dependency>



<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.4</version>
</dependency>
</dependencies> 
 <build>
 <finalName>ds</finalName>
</build>
</project>

注:SSM配置文件的标签及属性众多,此处仅列出一些常用。

相关文章:

  • 2021-04-30
  • 2021-09-10
  • 2022-01-18
  • 2022-12-23
  • 2022-12-23
  • 2021-12-23
猜你喜欢
  • 2022-01-09
  • 2021-07-23
  • 2022-01-23
  • 2022-12-23
  • 2021-10-21
  • 2022-12-23
  • 2021-11-30
相关资源
相似解决方案