zoukankan      html  css  js  c++  java
  • ssm框架搭建

    ssm分为web层(控制层)、业务层(service)、dao(数据库交互层)

    大体架构如下

    这是配置文件  

    web.xml配置如下

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
     3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4          xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
     5          version="4.0">
     6   <!--三大器件-->
     7     <!--监听器-->
     8     <listener>
     9         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    10     </listener>
        //web监听器默认只能监听WEB-INFO下applicationContext的文件, 需要给它重新制定文件的路径 11 <context-param> 12 <param-name>contextConfigLocation</param-name> 13 <param-value>classpath:applicationContext*.xml</param-value> 14 </context-param>
    15 <!--springmvc前端控制器--> 16 <servlet> 17 <servlet-name>dispatcherServlet</servlet-name> 18 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 19 <init-param> 20 <param-name>contextConfigLocation</param-name> 21 <param-value>classpath:springmvc.xml</param-value> 22 </init-param> 23 </servlet> 24 <servlet-mapping> 25 <servlet-name>dispatcherServlet</servlet-name> 26 <url-pattern>/</url-pattern> 27 </servlet-mapping>

    <!--   登录权限验证-->
    <!-- <filter>-->
    <!-- <filter-name>LoginFilter</filter-name>-->
    <!-- <filter-class>com.ujy.filter.LoginFilter</filter-class>-->
    <!-- </filter>-->
    <!-- <filter-mapping>-->
    <!-- <filter-name>LoginFilter</filter-name>-->
    <!-- <url-pattern>/*</url-pattern>-->
    <!-- </filter-mapping>-->

    28 <!--post乱码解决--> 29 <filter> 30 <filter-name>encodingFilter</filter-name> 31 <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 32 <init-param> 33 <param-name>encoding</param-name> 34 <param-value>utf-8</param-value> 35 </init-param> 36 </filter> 37 <filter-mapping> 38 <filter-name>encodingFilter</filter-name> 39 <url-pattern>/*</url-pattern> 40 </filter-mapping> 41 42 </web-app>

    springmvc.xml配置如下

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans xmlns="http://www.springframework.org/schema/beans"
     3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
     4        xmlns:context="http://www.springframework.org/schema/context"
     5        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">
     6     <!--组件扫描-->
     7     <context:component-scan base-package="com.ujy.web"></context:component-scan>
     8     <!--注解驱动    也就是相当于处理器映射器和处理器适配器的结合体-->
     9     <mvc:annotation-driven conversion-service="conversionService2"></mvc:annotation-driven>
    10     <!--配置内部资源视图解析器-->
    11     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    12         <property name="suffix" value=".jsp"/>
    13         <property name="prefix" value="/"/>
    14     </bean>
    15     <!--静态资源映射器-->
    16     <mvc:default-servlet-handler/>
    17     <!--文件上传解析器-->
    18     <bean class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    19         <property name="maxUploadSize" value="100000000"></property>
    20     </bean>
    21     <!--配置类型转换器    然后在mvc:annotation-driven 中配置conversion-service -->
    22     <!--        点进去源码 converters 是set类型  然后复杂属性赋值-->
    23     <!--格式转换器-->
    24     <bean class="org.springframework.format.support.FormattingConversionServiceFactoryBean " id="conversionService2">
    25         <property name="converters">
    26             <set>
    27                 <bean class="com.ujy.converter.DateTimeConverter"></bean>
    28             </set>
    29         </property>
    30     </bean>
    31     <!--异常处理器-->
    32 <!--    <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">-->
    33 <!--        <property name="exceptionAttribute" value="ex"></property>-->
    34 <!--        <property name="exceptionMappings">-->
    35 <!--            <props>-->
    36 <!--                &lt;!&ndash;key 指定异常类的全限定名,指出了异常去哪个页面&ndash;&gt;-->
    37 <!--                <prop key="com.ujy.customexception.PayException">error</prop>-->
    38 <!--            </props>-->
    39 <!--        </property>-->
    40 <!--    </bean>-->
    41     <!--拦截器-->
    42 <mvc:interceptors>
    43     <mvc:interceptor>
    44         <mvc:mapping path="/**"/>
    45         <bean class="com.ujy.Interceptor.Myinterceptor"/>
    46     </mvc:interceptor>
    47 </mvc:interceptors>

          <!--为了controller能携带数据 ,经过springmvc的映射 重定向到页面 -->
          <mvc:view-controller path="/login" view-name="login"></mvc:view-controller>
    48 </beans>

    PersonDao.xml的配置头信息

    <?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">

    log4j.properties 配置文件如下

    # Global logging configuration
    log4j.rootLogger=DEBUG, stdout
    # Console output...
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

    db.properties配置如下

    jdbc.driverClass=com.mysql.jdbc.Driver
    jdbc.url=jdbc:mysql://localhost:3306/test
    jdbc.username=root
    jdbc.password=ych521mm

    applicationContext-tx.xml配置如下

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans xmlns="http://www.springframework.org/schema/beans"
     3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4        xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop"
     5        xsi:schemaLocation="http://www.springframework.org/schema/beans
     6        http://www.springframework.org/schema/beans/spring-beans.xsd
     7        http://www.springframework.org/schema/tx
     8        http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop https://www.springframework.org/schema/aop/spring-aop.xsd">
     9 <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    10     <property name="dataSource" ref="dataSource"></property>
    11 </bean>
    12    <!--aop面向切面编程,切面就是切入点和通知的组合-->
    13 <!-- 一、注解的方式配置事务-->
    14 <tx:annotation-driven transaction-manager="transactionManager"></tx:annotation-driven>
    15 
    16 <!--二、基于xml的方式配置事务-->
    17      <!--配置事务的通知-->
    18     <tx:advice id="interceptor" >
    19         <tx:attributes>
    20             <tx:method name="save*" propagation="REQUIRED"/>
    21             <tx:method name="find*" propagation="REQUIRED"/>
    22             <tx:method name="delete*" propagation="REQUIRED"/>
    23             <tx:method name="select*" read-only="true"/>
    24            <!-- 所有方法都适应,全局搜索-->
    25            <tx:method name="*" read-only="true"/>
    26         </tx:attributes>
    27     </tx:advice>
    28 <!--    配置切面-->
    29     <aop:config>
    30         <aop:pointcut id="pointcut" expression="execution(* com.ujy.service.impl.*.*(..))"/>
    31         把切入点和通知类组织到一起成切面-->
    32         <aop:advisor advice-ref="interceptor" pointcut-ref="pointcut"/>
    33     </aop:config>
    34 </beans>

    applicationContext-service.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"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
        <context:component-scan base-package="com.ujy.service"/>
    </beans>

    applicationContext-dao.xml配置如下

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans xmlns="http://www.springframework.org/schema/beans"
     3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4        xmlns:context="http://www.springframework.org/schema/context"
     5        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
     6 <!--引入外部资源文件文件-->
     7     <context:property-placeholder location="classpath:db.properties"></context:property-placeholder>
     8  
    10     <!--database-->
    11     <bean class="com.alibaba.druid.pool.DruidDataSource" id="dataSource">
    12         <property name="driverClassName" value="${jdbc.driverClass}"/>
    13         <property name="url" value="${jdbc.url}"/>
    14         <property name="username" value="${jdbc.username}"/>
    15         <property name="password" value="${jdbc.password}"/>
    16         <property name="initialSize" value="10"/>
    17         <property name="maxActive" value="3000"/>
    18         <property name="minIdle" value="10"/>
    19     </bean>
    20     <!--mybatis-->
    21     <bean class="org.mybatis.spring.SqlSessionFactoryBean">
    22         <property name="dataSource" ref="dataSource"/>
    23         <property name="typeAliasesPackage" value="com.ujy.pojo"/>
    24         <property name="plugins">
    25             <array>
    26                 <bean class="com.github.pagehelper.PageInterceptor">
    27                     <property name="properties">
    28                         <value>
    29                             helperDialect=mysql
    30                             reasonable=true
    31                             supportMethodsArguments=true
    32                             autoRuntimeDialect=true
    33                         </value>
    34                     </property>
    35                 </bean>
    36             </array>
    37         </property>
    38     </bean>
    39     <!--Mybatis映射扫描-->
    扫描接口的包路径,生成包下所有接口的代理对象,并且放入spring容器中 40 <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> 41 <property name="basePackage" value="com.ujy.dao"/> 42 </bean> 43 44 45 </beans>

    pom.xml包如下

     <properties>
       <spring.version>5.2.1.RELEASE</spring.version>
     </properties>
     
         <dependency>
           <groupId>junit</groupId>
           <artifactId>junit</artifactId>
           <version>4.11</version>
          <scope>test</scope>
         </dependency>
     <!--servlet-->
         <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>
     22       <version>2.2</version>
     23       <scope>provided</scope>
     24     </dependency>
     25     <dependency>
     26       <groupId>jstl</groupId>
     27       <artifactId>jstl</artifactId>
     28       <version>1.2</version>
     29     </dependency>
     30     <!--spring-ioc的包-->
     31     <dependency>
     32       <groupId>org.springframework</groupId>
     33       <artifactId>spring-beans</artifactId>
     34       <version>${spring.version}</version>
     35     </dependency>
     36     <dependency>
     37       <groupId>org.springframework</groupId>
     38       <artifactId>spring-core</artifactId>
     39       <version>${spring.version}</version>
     40     </dependency>
     41     <dependency>
     42       <groupId>org.springframework</groupId>
     43       <artifactId>spring-context</artifactId>
     44       <version>${spring.version}</version>
     45     </dependency>
     46     <dependency>
     47       <groupId>org.springframework</groupId>
     48       <artifactId>spring-expression</artifactId>
     49       <version>${spring.version}</version>
     50     </dependency>
     51     <!--spring-aop的包-->
     52     <dependency>
     53       <groupId>org.springframework</groupId>
     54       <artifactId>spring-aop</artifactId>
     55       <version>${spring.version}</version>
     56     </dependency>
     57     <dependency>
     58       <groupId>org.springframework</groupId>
     59       <artifactId>spring-aspects</artifactId>
     60       <version>${spring.version}</version>
     61     </dependency>
     62     <dependency>
     63       <groupId>org.aspectj</groupId>
     64       <artifactId>aspectjweaver</artifactId>
     65       <version>1.9.4</version>
     66     </dependency>
     67     <!--spring-tx的包-->
     68     <dependency>
     69       <groupId>org.springframework</groupId>
     70       <artifactId>spring-tx</artifactId>
     71       <version>${spring.version}</version>
     72     </dependency>
     73     <!--spring-jdbc的包-->
     74     <dependency>
     75       <groupId>org.springframework</groupId>
     76       <artifactId>spring-jdbc</artifactId>
     77       <version>${spring.version}</version>
     78     </dependency>
     79     <!--springmvc-->
     80     <dependency>
     81       <groupId>org.springframework</groupId>
     82       <artifactId>spring-web</artifactId>
     83       <version>${spring.version}</version>
     84     </dependency>
     85     <dependency>
     86       <groupId>org.springframework</groupId>
     87       <artifactId>spring-webmvc</artifactId>
     88       <version>${spring.version}</version>
     89     </dependency>
     90     <dependency>
     91       <groupId>commons-fileupload</groupId>
     92       <artifactId>commons-fileupload</artifactId>
     93       <version>1.4</version>
     94     </dependency>
     95     <dependency>
     96       <groupId>com.fasterxml.jackson.core</groupId>
     97       <artifactId>jackson-databind</artifactId>
     98       <version>2.9.8</version>
     99     </dependency>
    100     <!--mybatis包-->
    101     <dependency>
    102       <groupId>org.mybatis</groupId>
    103       <artifactId>mybatis</artifactId>
    104       <version>3.5.1</version>
    105     </dependency>
    106     <dependency>
    107       <groupId>org.mybatis</groupId>
    108       <artifactId>mybatis-spring</artifactId>
    109       <version>2.0.2</version>
    110     </dependency>
    111     <dependency>
    112       <groupId>com.github.pagehelper</groupId>
    113       <artifactId>pagehelper</artifactId>
    114       <version>5.1.10</version>
    115     </dependency>
    116     <!--数据库驱动-->
    117     <dependency>
    118       <groupId>mysql</groupId>
    119       <artifactId>mysql-connector-java</artifactId>
    120       <version>5.1.32</version>
    121     </dependency>
    122 
    123     <!--连接池-->
    124     <dependency>
    125       <groupId>com.alibaba</groupId>
    126       <artifactId>druid</artifactId>
    127       <version>1.1.16</version>
    128     </dependency>
    129 
    130     <!--日志信息-->
    131     <dependency>
    132       <groupId>log4j</groupId>
    133       <artifactId>log4j</artifactId>
    134       <version>1.2.17</version>
    135     </dependency>
    136     <dependency>
    137       <groupId>org.slf4j</groupId>
    138       <artifactId>slf4j-api</artifactId>
    139       <version>1.7.26</version>
    140     </dependency>
    141     <dependency>
    142       <groupId>org.slf4j</groupId>
    143       <artifactId>slf4j-log4j12</artifactId>
    144       <version>1.7.26</version>
    145     </dependency>

    build插件

      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.2</version>
            <configuration>
              <target>1.8</target>
              <source>1.8</source>
            </configuration>
          </plugin><plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.2</version>
            <configuration>
              <port>8888</port>
              <path>/</path>
              <uriEncoding>utf-8</uriEncoding>
            </configuration>
          </plugin>
        </plugins>
      </build>
  • 相关阅读:
    Jquery 基本知识(一)
    Json对象与Json字符串互转(转载)
    一道面试题:StringBuffer a=new StringBuffer ("A"); StringBuffer b=new StringBuffer (StringBuffer线程安全 StringBuilder线程不安全)
    MySql数据库连接池专题
    linux 负载均衡配置 keepalive lvs 使用nginx转发 CentOS7 搭建LVS+keepalived负载均衡
    linux 安装nginx -查看 linux的环境变量
    生产者/消费者模式(阻塞队列)
    线程与进程的区别
    Linux中Apache+Tomcat+JK实现负载均衡和群集的完整过程
    Hadoop 2.6.0 HIVE 2.1.1配置
  • 原文地址:https://www.cnblogs.com/ych961107/p/11889241.html
Copyright © 2011-2022 走看看