SSM简单整合(Spring+SpringMVC+Mybatis)

来源:互联网 发布:linux删除用户组命令 编辑:程序博客网 时间:2024/06/14 16:17

1.首先第一步导入所依赖的jar包并配置读取文件路径

<dependencies>    <dependency>      <groupId>junit</groupId>      <artifactId>junit</artifactId>      <version>3.8.1</version>      <scope>test</scope>    </dependency>    <!-- mybatis核心包 -->    <dependency>      <groupId>org.mybatis</groupId>      <artifactId>mybatis</artifactId>      <version>3.4.1</version>    </dependency>    <!-- mysql驱动包 -->    <dependency>      <groupId>mysql</groupId>      <artifactId>mysql-connector-java</artifactId>      <version>5.1.29</version>    </dependency>    <!-- junit测试包 -->    <dependency>      <groupId>junit</groupId>      <artifactId>junit</artifactId>      <version>4.11</version>    </dependency>    <!--日志包-->    <dependency>      <groupId>org.slf4j</groupId>      <artifactId>slf4j-log4j12</artifactId>      <version>1.6.1</version>    </dependency>    <dependency>      <groupId>org.slf4j</groupId>      <artifactId>slf4j-api</artifactId>      <version>1.6.1</version>    </dependency>    <!--spring数据库-->    <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-jdbc</artifactId>      <version>4.3.1.RELEASE</version>    </dependency>    <!--aop-->    <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-aspects</artifactId>      <version>4.3.1.RELEASE</version>    </dependency>    <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-context</artifactId>      <version>4.3.1.RELEASE</version>    </dependency>    <!--speing-mybatis整合包-->    <dependency>      <groupId>org.mybatis</groupId>      <artifactId>mybatis-spring</artifactId>      <version>1.3.1</version>    </dependency>    <!--spring mvc相关包-->    <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-web</artifactId>      <version>4.3.1.RELEASE</version>    </dependency>    <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-webmvc</artifactId>      <version>4.3.1.RELEASE</version>    </dependency>    <dependency>      <groupId>javax.servlet</groupId>      <artifactId>javax.servlet-api</artifactId>      <version>3.1.0</version>    </dependency>    <dependency>      <groupId>jstl</groupId>      <artifactId>jstl</artifactId>      <version>1.2</version>    </dependency>  </dependencies>  <build>    <resources>      <resource>        <directory>src/main/java</directory>        <includes>          <include>**/*.xml</include>        </includes>        <filtering>true</filtering>      </resource>      <resource>        <directory>src/main/resources</directory>        <includes>          <include>**/*.xml</include>          <include>**/*.properties</include>        </includes>      </resource>    </resources>  </build>

2.在resources文件下创建 jdbc配置文件 log4j日志文件

jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/springjdbc?characterEncoding=utf-8jdbc.username=rootjdbc.password=root# For all other servers: Comment out the Log4J listener in web.xml to activate Log4J.log4j.rootLogger=DEBUG, stdout, log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n#begin#for normal test,delete when onlinelog4j.logger.com.ibatis=DEBUGlog4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUGlog4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUGlog4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUGlog4j.logger.java.sql.Connection=DEBUGlog4j.logger.java.sql.Statement=DEBUGlog4j.logger.java.sql.PreparedStatement=DEBUGlog4j.logger.java.sql.ResultSet=DEBUG#end

3.在resources下创建基本的spring-config.xml 和mybatis-config.xml 在WEB-INF 下创建springMVC-servlet.xml基本的配置文件

mybatis-config.xml<?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中节点的位置是有先后顺序的--><configuration>    <!-- type实体类的路径的全名称 alias路径太长取个别名-->    <typeAliases >        <typeAlias type="com.ssm.blog.pojo.BlogShuo" alias="BlogShuo"/>    </typeAliases></configuration>spring-config.xml<?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:aop="http://www.springframework.org/schema/aop"       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-4.2.xsd       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd">    <!--spring管理数据源-->    <context:property-placeholder location="classpath:jdbc.properties" ignore-unresolvable="true"/>    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">        <property name="driverClassName" value="${jdbc.driver}"/>        <property name="url" value="${jdbc.url}"/>        <property name="username" value="${jdbc.username}"/>        <property name="password" value="${jdbc.password}"/>    </bean>    <!--spring管理session工厂-->    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">        <property name="dataSource" ref="dataSource"/>        <property name="mapperLocations" value="classpath:com/ssm/blog/dao/mapper/*.xml"/>        <property name="configLocation" value="classpath:mybatis-config.xml"/>    </bean>    <!-- 配置事务管理器 -->    <bean id="transactionManager"          class="org.springframework.jdbc.datasource.DataSourceTransactionManager">        <property name="dataSource" ref="dataSource"/>    </bean>    <!-- 启动自动扫描 扫描com.ssm.blog.*路径下非Controller注解 -->    <context:component-scan base-package="com.ssm.blog.*">        <!-- 制定扫包规则 ,只扫描使用@Controller注解的JAVA类 -->        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>    </context:component-scan>    <!--事务增强-->    <tx:advice id="txAdvice" transaction-manager="transactionManager">        <tx:attributes>            <!-- 传播行为,匹配的是方法名 -->            <tx:method name="add*" rollback-for="Exception"/>            <tx:method name="delete*" rollback-for="Exception"/>            <tx:method name="update*" rollback-for="Exception"/>            <tx:method name="get*" propagation="SUPPORTS" read-only="true" />        </tx:attributes>    </tx:advice>    <!-- 通过AOP配置提供事务增强,让service包下所有Bean的所有方法拥有事务 -->    <aop:config>        <aop:pointcut id="serviceMethod"                      expression="execution(* com.ssm.blog.service..*(..))" />        <aop:advisor pointcut-ref="serviceMethod" advice-ref="txAdvice" />    </aop:config>    <!-- Mapper映射文件的包扫描器 -->    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">        <property name="basePackage" value="com.ssm..blog.dao"/>    </bean></beans>springMVC-servlet.xml<?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-4.2.xsd  http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd  http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd">    <!-- 启动注解,注册服务-->    <mvc:annotation-driven/>    <!-- 启动自动扫描 -->    <context:component-scan base-package="com.ssm.blog.controller">        <!-- 制定扫包规则 ,只扫描使用@Controller注解的JAVA类 -->        <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>    </context:component-scan>    <!-- 配置视图解析器-->    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">        <property name="prefix" value="/"></property><!--前缀添加'/'-->        <property name="suffix" value=".jsp"></property><!--后缀添加'.jsp'-->    </bean></beans>

3.web.xml配置

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://java.sun.com/xml/ns/javaee"         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee          http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"         version="3.0">    <!--默认扫苗ApplicationContext.xml 如果没写会报错 可在这里配置下面信息解决-->    <context-param>        <param-name>contextConfigLocation</param-name>        <param-value>classpath:spring-*.xml</param-value>    </context-param>    <!--配置listener,在启动Web容器的时候加载Spring的配置-->    <listener>        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>    </listener>    <!--将欢迎页设置成index.html-->    <welcome-file-list>        <welcome-file>index.html</welcome-file>    </welcome-file-list>    <!--配置DispatcherServlet springMVC名称与配置文件要对应 -->    <servlet>        <servlet-name>springMVC</servlet-name>        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>    </servlet>    <servlet-mapping>        <servlet-name>springMVC</servlet-name>        <url-pattern>*.html</url-pattern>    </servlet-mapping>    <!--配置过滤器将编码转换位utf-8-->    <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-pattern>/*</url-pattern>    </filter-mapping></web-app>

目录构图

原创粉丝点击