基于maven项目的SSM整合

Posted dkp0911

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于maven项目的SSM整合相关的知识,希望对你有一定的参考价值。

1.添加基本的依赖坐标(项目如需有具体别的依赖,根据实际情况添加)

  1 <!-- 统一管理jar包版本 -->
  2     <properties>
  3       <spring.version>5.0.2.RELEASE</spring.version>
  4       <slf4j.version>1.6.6</slf4j.version>
  5       <log4j.version>1.2.12</log4j.version>
  6       <shiro.version>1.2.3</shiro.version>
  7       <mysql.version>5.1.6</mysql.version>
  8       <mybatis.version>3.4.5</mybatis.version>
  9       <spring.security.version>5.0.1.RELEASE</spring.security.version>
 10     </properties>
 11     <!-- 锁定jar包版本 -->
 12     <dependencyManagement>
 13       <dependencies>
 14         <dependency>
 15           <groupId>org.springframework</groupId>
 16           <artifactId>spring-context</artifactId>
 17           <version>${spring.version}</version>
 18         </dependency>
 19         <dependency>
 20           <groupId>org.springframework</groupId>
 21           <artifactId>spring-web</artifactId>
 22           <version>${spring.version}</version>
 23         </dependency>
 24         <dependency>
 25           <groupId>org.springframework</groupId>
 26           <artifactId>spring-webmvc</artifactId>
 27           <version>${spring.version}</version>
 28         </dependency>
 29         <dependency>
 30           <groupId>org.springframework</groupId>
 31           <artifactId>spring-tx</artifactId>
 32           <version>${spring.version}</version>
 33         </dependency>
 34         <dependency>
 35           <groupId>org.springframework</groupId>
 36           <artifactId>spring-test</artifactId>
 37           <version>${spring.version}</version>
 38         </dependency>
 39         <dependency>
 40           <groupId>org.mybatis</groupId>
 41           <artifactId>mybatis</artifactId>
 42           <version>${mybatis.version}</version>
 43         </dependency>
 44       </dependencies>
 45     </dependencyManagement>
 46 
 47     <!-- 项目依赖jar包 -->
 48     <dependencies>
 49       <!-- spring -->
 50       <dependency>
 51         <groupId>org.aspectj</groupId>
 52         <artifactId>aspectjweaver</artifactId>
 53         <version>1.6.8</version>
 54       </dependency>
 55       <dependency>
 56         <groupId>org.springframework</groupId>
 57         <artifactId>spring-aop</artifactId>
 58         <version>${spring.version}</version>
 59       </dependency>
 60       <dependency>
 61         <groupId>org.springframework</groupId>
 62         <artifactId>spring-context</artifactId>
 63         <version>${spring.version}</version>
 64       </dependency>
 65       <dependency>
 66         <groupId>org.springframework</groupId>
 67         <artifactId>spring-context-support</artifactId>
 68         <version>${spring.version}</version>
 69       </dependency>
 70       <dependency>
 71         <groupId>org.springframework</groupId>
 72         <artifactId>spring-web</artifactId>
 73         <version>${spring.version}</version>
 74       </dependency>
 75       <dependency>
 76         <groupId>org.springframework</groupId>
 77         <artifactId>spring-orm</artifactId>
 78         <version>${spring.version}</version>
 79       </dependency>
 80       <dependency>
 81         <groupId>org.springframework</groupId>
 82         <artifactId>spring-beans</artifactId>
 83         <version>${spring.version}</version>
 84       </dependency>
 85       <dependency>
 86         <groupId>org.springframework</groupId>
 87         <artifactId>spring-core</artifactId>
 88         <version>${spring.version}</version>
 89       </dependency>
 90       <dependency>
 91         <groupId>org.springframework</groupId>
 92         <artifactId>spring-test</artifactId>
 93         <version>${spring.version}</version>
 94       </dependency>
 95       <dependency>
 96         <groupId>org.springframework</groupId>
 97         <artifactId>spring-webmvc</artifactId>
 98         <version>${spring.version}</version>
 99       </dependency>
100       <dependency>
101         <groupId>org.springframework</groupId>
102         <artifactId>spring-tx</artifactId>
103         <version>${spring.version}</version>
104       </dependency>
105       <dependency>
106         <groupId>junit</groupId>
107         <artifactId>junit</artifactId>
108         <version>4.12</version>
109         <scope>test</scope>
110       </dependency>
111       <dependency>
112         <groupId>mysql</groupId>
113         <artifactId>mysql-connector-java</artifactId>
114         <version>${mysql.version}</version>
115       </dependency>
116       <dependency>
117         <groupId>javax.servlet</groupId>
118         <artifactId>javax.servlet-api</artifactId>
119         <version>3.1.0</version>
120         <scope>provided</scope>
121       </dependency>
122       <dependency>
123         <groupId>javax.servlet.jsp</groupId>
124         <artifactId>jsp-api</artifactId>
125         <version>2.0</version>
126         <scope>provided</scope>
127       </dependency>
128       <dependency>
129         <groupId>jstl</groupId>
130         <artifactId>jstl</artifactId>
131         <version>1.2</version>
132       </dependency>
133       <!-- log start -->
134       <dependency>
135         <groupId>log4j</groupId>
136         <artifactId>log4j</artifactId>
137         <version>${log4j.version}</version>
138       </dependency>
139       <dependency>
140         <groupId>org.slf4j</groupId>
141         <artifactId>slf4j-api</artifactId>
142         <version>${slf4j.version}</version>
143       </dependency>
144       <dependency>
145         <groupId>org.slf4j</groupId>
146         <artifactId>slf4j-log4j12</artifactId>
147         <version>${slf4j.version}</version>
148       </dependency>
149       <!-- log end -->
150       <dependency>
151         <groupId>org.mybatis</groupId>
152         <artifactId>mybatis</artifactId>
153         <version>${mybatis.version}</version>
154       </dependency>
155       <dependency>
156         <groupId>org.mybatis</groupId>
157         <artifactId>mybatis-spring</artifactId>
158         <version>1.3.0</version>
159       </dependency>
160       <dependency>
161         <groupId>c3p0</groupId>
162         <artifactId>c3p0</artifactId>
163         <version>0.9.1.2</version>
164         <type>jar</type>
165         <scope>compile</scope>
166       </dependency>
167       <dependency>
168         <groupId>com.github.pagehelper</groupId>
169         <artifactId>pagehelper</artifactId>
170         <version>5.1.2</version>
171       </dependency>
172       <dependency>
173         <groupId>org.springframework.security</groupId>
174         <artifactId>spring-security-web</artifactId>
175         <version>${spring.security.version}</version>
176       </dependency>
177       <dependency>
178         <groupId>org.springframework.security</groupId>
179         <artifactId>spring-security-config</artifactId>
180         <version>${spring.security.version}</version>
181       </dependency>
182       <dependency>
183         <groupId>org.springframework.security</groupId>
184         <artifactId>spring-security-core</artifactId>
185         <version>${spring.security.version}</version>
186       </dependency>
187       <dependency>
188         <groupId>org.springframework.security</groupId>
189         <artifactId>spring-security-taglibs</artifactId>
190         <version>${spring.security.version}</version>
191       </dependency>
192       <dependency>
193         <groupId>com.alibaba</groupId>
194         <artifactId>druid</artifactId>
195         <version>1.0.9</version>
196       </dependency>
197       <dependency>
198         <groupId>junit</groupId>
199         <artifactId>junit</artifactId>
200         <version>4.12</version>
201       </dependency>
202     </dependencies>
203     <!-- 添加tomcat7插件 -->
204     <build>
205       <plugins>
206         <plugin>
207           <groupId>org.apache.tomcat.maven</groupId>
208           <artifactId>tomcat7-maven-plugin</artifactId>
209           <version>2.2</version>
210         </plugin>
211       </plugins>
212     </build>
213 </project>

2.配置文件 applicationContext.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:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       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/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
                http://www.springframework.org/schema/mvc
                http://www.springframework.org/schema/mvc/spring-mvc.xsd">
    <!--dao层配置文件开始-->
    <!--配置连接池-->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql:///maven"/>
        <property name="username" value="root"/>
        <property name="password" value="123456"/>
    </bean>

    <!--配置生产SqlSession对象的工厂-->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <!--扫描pojo包,给包下所有pojo对象起别名-->
        <property name="typeAliasesPackage" value="com.itheima.domain"/>
    </bean>

    <!--扫描接口包路径,生成包下所有接口的代理对象,并且放入spring容器中-->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.itheima.dao"/>
    </bean>
    <!--dao层配置文件结束-->


    <!--service层配置文件开始-->

    <!--组件扫描配置-->
    <context:component-scan base-package="com.itheima.service"/>

    <!--aop面向切面编程,切面就是切入点和通知的组合-->
    <!--配置事务管理器-->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"/>
    </bean>
    <!--配置事务的通知-->
    <tx:advice id="advice">
        <tx:attributes>
            <tx:method name="save*" propagation="REQUIRED"/>
            <tx:method name="update*" propagation="REQUIRED"/>
            <tx:method name="delete*" propagation="REQUIRED"/>
            <tx:method name="find*" read-only="true"/>
            <tx:method name="*" propagation="REQUIRED"/>
        </tx:attributes>
    </tx:advice>

    <!--配置切面-->
    <aop:config>
        <aop:pointcut id="pointcut" expression="execution(* com.itheima.service.impl.*.*(..))"/>
        <aop:advisor advice-ref="advice" pointcut-ref="pointcut"/>
    </aop:config>
    <!--service层配置文件结束-->
    
</beans>

3.配置springmvc.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:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       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/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
                http://www.springframework.org/schema/mvc
                http://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <!--组件扫描-->
    <context:component-scan base-package="com.itheima.controller"/>

    <!--处理器映射器,处理器适配器-->
    <mvc:annotation-driven/>

    <!--视图解析器-->
    <bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/pages/"/>
        <property name="suffix" value=".jsp"/>
    </bean>

    <!--释放静态资源-->
    <mvc:default-servlet-handler/>


</beans>

4.配置web.xml的配置文件

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

    <!--编码过滤器-->
    <filter>
        <filter-name>encoding</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>encoding</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    
    <!--配置spring核心监听器-->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <!--重新指定spring配置文件的路径-->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
    </context-param>

    <!--springmvc的核心servlet-->
    <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:springmvc.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>

 

以上是关于基于maven项目的SSM整合的主要内容,如果未能解决你的问题,请参考以下文章

idea使用maven整合ssm框架

Java SSM 项目实战 day02 功能介绍,SSM整合,数据库和IDEA的maven工程搭建,产品信息查询和添加

ssm框架整合

SSM框架整合Demo

SSM整合(基于注解开发)

SSM整合(基于注解开发)