基于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整合的主要内容,如果未能解决你的问题,请参考以下文章