玩命加载中 . . .

ssm框架配置文件


导入依赖

<properties>       
    <spring.version>5.0.2.RELEASE</spring.version>       
    <slf4j.version>1.6.6</slf4j.version>   
    <log4j.version>1.2.12</log4j.version>   
    <mysql.version>5.1.6</mysql.version>   
    <mybatis.version>3.4.5</mybatis.version>   
</properties>
 
    <dependencies>
        <!-- spring -->      
        <dependency>        
            <groupId>org.aspectj</groupId>        
            <artifactId>aspectjweaver</artifactId>       
            <version>1.6.8</version>      
        </dependency>
 
        <dependency>         
            <groupId>org.springframework</groupId>    
            <artifactId>spring-aop</artifactId>
            <version>${spring.version}</version>  
        </dependency>
 
        <dependency>       
            <groupId>org.springframework</groupId>      
            <artifactId>spring-context</artifactId>   
            <version>${spring.version}</version>   
        </dependency>
 
        <dependency>     
            <groupId>org.springframework</groupId>       
            <artifactId>spring-web</artifactId>         
            <version>${spring.version}</version>     
        </dependency>
 
        <dependency>          
            <groupId>org.springframework</groupId>    
            <artifactId>spring-webmvc</artifactId> 
            <version>${spring.version}</version>    
        </dependency>
 
        <dependency>          
            <groupId>org.springframework</groupId>     
            <artifactId>spring-test</artifactId>    
            <version>${spring.version}</version>   
        </dependency>
 
        <dependency>         
            <groupId>org.springframework</groupId>        
            <artifactId>spring-tx</artifactId>         
            <version>${spring.version}</version>      
        </dependency>
 
        <dependency>       
            <groupId>org.springframework</groupId>   
            <artifactId>spring-jdbc</artifactId>    
            <version>${spring.version}</version>   
        </dependency>
 
        <dependency>         
            <groupId>junit</groupId>         
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>compile</scope>  
        </dependency>
 
        <dependency>       
            <groupId>mysql</groupId>        
            <artifactId>mysql-connector-java</artifactId>   
            <version>${mysql.version}</version>     
        </dependency>
 
        <dependency>       
            <groupId>javax.servlet</groupId>       
            <artifactId>servlet-api</artifactId>     
            <version>2.5</version>      
            <scope>provided</scope>    
        </dependency>
 
        <dependency>        
            <groupId>javax.servlet.jsp</groupId>  
            <artifactId>jsp-api</artifactId>    
            <version>2.0</version>          
            <scope>provided</scope>      
        </dependency>
 
        <dependency>          
            <groupId>jstl</groupId>          
            <artifactId>jstl</artifactId>        
            <version>1.2</version>   
        </dependency>
 
        <!-- log start -->     
        <dependency>         
            <groupId>log4j</groupId> 
            <artifactId>log4j</artifactId> 
            <version>${log4j.version}</version>  
        </dependency>
 
        <dependency>        
            <groupId>org.slf4j</groupId>      
            <artifactId>slf4j-api</artifactId>    
            <version>${slf4j.version}</version>   
        </dependency>
 
        <dependency>       
            <groupId>org.slf4j</groupId>         
            <artifactId>slf4j-log4j12</artifactId>     
            <version>${slf4j.version}</version>    
        </dependency>   
        <!-- log end -->    
        <dependency>      
            <groupId>org.mybatis</groupId>    
            <artifactId>mybatis</artifactId>  
            <version>${mybatis.version}</version>
        </dependency>
 
        <dependency>        
            <groupId>org.mybatis</groupId>     
            <artifactId>mybatis-spring</artifactId> 
            <version>1.3.0</version>  
        </dependency>
 
        <dependency>       
            <groupId>c3p0</groupId>            
            <artifactId>c3p0</artifactId>        
            <version>0.9.1.2</version>   
            <type>jar</type>           
            <scope>compile</scope>    
        </dependency>
 
    </dependencies>

骨架搭建

  1. 类文件

image-20200906193619458

  1. 配置文件

image-20200906193454391

  1. webapp

image-20200906193815105

配置文件

配置文件:

  1. web.xml:

    1. ContextLoaderListener监听器(加载Spring配置文件)、
    2. DispatcherServlet前端控制器(加载SpringMVC配置文件)、
    3. CharacterEncodingFilter(中文乱码问题)
    <!DOCTYPE web-app PUBLIC
     "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
     "http://java.sun.com/dtd/web-app_2_3.dtd" >
    
    <web-app>
      <display-name>Archetype Created Web Application</display-name>
      <!--配置applicationContext监听器,加载spring配置文件-->
      <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
      </listener>
      <!--配置加载类路径下的配置文件-->
      <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
      </context-param>
    
      
      <!--配置前端控制器-->
      <servlet>
        <servlet-name>dispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      <!--加载springmvc配置文件-->
        <init-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>classpath:springmvc.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>dispatcherServlet</servlet-name>
        <url-pattern>/</url-pattern>
      </servlet-mapping>
      <!--配置处理中文乱码问题-->
      <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>
      </filter>
      <filter-mapping>
        <filter-name>characterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>
    </web-app>
    
  2. springMVC.xml:

    1. context:component-scan 开启注解扫描(只扫描mvc部分)、
    2. InternalResourceViewResolver 视图解析器
    3. mvc:default-servlet-handler排除静态资源过滤
    4. mvc:annotation-driven 开启MVC注解支持
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"    xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="        http://www.springframework.org/schema/beans        http://www.springframework.org/schema/beans/spring-beans.xsd        http://www.springframework.org/schema/mvc        http://www.springframework.org/schema/mvc/spring-mvc.xsd        http://www.springframework.org/schema/context        http://www.springframework.org/schema/context/spring-context.xsd">
        <!--开启注解扫描-->
        <context:component-scan base-package="cn.hm">
            <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
        </context:component-scan>
        <!--配置视图解析器-->
        <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/WEB-INF/pages/"></property>
            <property name="suffix" value=".jsp"></property>
        </bean>
        <!--排除静态资源过滤问题-->
        <mvc:default-servlet-handler></mvc:default-servlet-handler>
        <!--开启Mvc注解支持-->
        <mvc:annotation-driven></mvc:annotation-driven>
    </beans>
    
  3. applicationContext.xml:

    1. context:component-scan 开启注解扫描(排除mvc部分)
    2. 配置Bean:数据源 ComboPooledDataSource/druid/
    3. 配置Bean:工厂类对象 sqlSessionFactory
    4. 配置Bean:映射的包 MapperScannerConfigurer
    5. 配置Bean:平台事务管理器 DataSourceTransactionManager
    6. 配置事务通知:transactionManager
    7. 配置事务Aop增强:aop:config
    <?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:aop="http://www.springframework.org/schema/aop"    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/aop    http://www.springframework.org/schema/aop/spring-aop.xsd
    http://www.springframework.org/schema/tx     http://www.springframework.org/schema/tx/spring-tx.xsd">
    
        <!--开启注解扫描-->
        <context:component-scan base-package="cn.hm">
            <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
        </context:component-scan>
    
        <!--配置数据源c3p0-->
        <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
            <property name="driverClass" value="com.mysql.jdbc.Driver"></property>
            <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/spring"></property>
            <property name="user" value="root"></property>
            <property name="password" value="1234"></property>
        </bean>
        <!--配置工厂对象-->
        <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
            <property name="dataSource" ref="dataSource"></property>
            <!--可以配置别名-->
            <property name="typeAliasesPackage" value="cn.hm.dao"></property>
        </bean>
        <!--配置映射的包-->
        <bean id="mapperScanner" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
            <!-- <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property> -->
            <property name="basePackage" value="cn.hm.dao"></property>
        </bean>
        <!--配置事务管理器-->
        <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
            <property name="dataSource" ref="dataSource"></property>
        </bean>
        <!--配置事务通知-->
        <tx:advice id="txAdvice" transaction-manager="transactionManager">
            <tx:attributes>
                <tx:method name="find*" read-only="true" propagation="SUPPORTS"/>
                <tx:method name="*" ></tx:method>
            </tx:attributes>
        </tx:advice>
        <!--配置aop增强-->
        <aop:config>
            <aop:pointcut id="pt1" expression="execution(* cn.hm.service.impl.*.*(..))"/>
            <aop:advisor advice-ref="txAdvice" pointcut-ref="pt1"></aop:advisor>
        </aop:config>
    </beans>
    
  4. sqlMapConfig.xml

    1. 配置别名
    <?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>
        <typeAliases>
            <package name="cn.hm.dao"/>
        </typeAliases>
    </configuration>
    

文章作者: 小苏
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 小苏 !
评论
  目录