SSM框架快速整合与测试
来源:互联网 发布:建筑学前景知乎 编辑:程序博客网 时间:2024/06/08 08:12
要整合Spring、SpringMVC、Mybatis框架,由于前两者本来就是一家,所以说到底还是Spring与Mybatis框架的整合,根据三次架构思想,我们可以根据Dao层,Service层,Controller层一层一层给配起。
1、创建maven项目,使用maven进行导包
<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.3.10.RELEASE</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <dependency> <groupId>org.glassfish.web</groupId> <artifactId>javax.servlet.jsp.jstl</artifactId> <version>1.2.2</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.2.3</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.2</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.43</version> </dependency> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>20030825.184428</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.3.10.RELEASE</version> </dependency> <dependency> <groupId>commons-pool</groupId> <artifactId>commons-pool</artifactId> <version>1.5.6</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.8</version> </dependency> </dependencies>
2、引入属性配置文件jdbc.properties和spring配置文件
applicationContext.xml
jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/mybatis2?characterEncoding=utf-8jdbc.username=rootjdbc.password=123456
<!-- 加载配置文件 --> <context:property-placeholder location="classpath:jdbc.properties"/> <!-- 配置数据库连接池 --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="url" value="${jdbc.url}"></property> <property name="driverClassName" value="${jdbc.driver}"></property> <property name="username" value="${jdbc.username}"></property> <property name="password" value="${jdbc.password}"></property> </bean> <!-- 配置SqlSessionFactory --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="configLocation" value="classpath:sqlMapConfig.xml"/> </bean> <!-- mybatis获取mapper接口: SqlSession session = SqlSessionFactory.openSession(); UserMapper mapper = session.getMapper(UserMapper.class); 与spring整合的话,如下配置顶替上面获取方式 会自动扫描com.scu.mybatis.mapper包下所有mapper接口,同时会在自动在容器 中寻找Session工厂。 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.scu.mvc.mapper"></property> </bean> <!-- 注解事务 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> </bean> <!-- 开启事务 --> <tx:annotation-driven transaction-manager="transactionManager"/>
用到mybatis全局配置文件(比如用到了分页插件)那么也要引入sqlMapConfig.xml,到这里最好先创建好包com.scu.mvc.mapper和com.scu.mvc.entity以免后面再搞忘了。
3、引入SpringMVC配置文件springmvc.xml (只是为了层次分明而已,完全可以将配置都写到一个spring配置文件中)
<!--开启组件扫描--><context:component-scan base-package="com.scu.mvc"/><!--注解驱动,替代注解处理器和处理器适配器的配置--> <mvc:annotation-driven/><!--配置视图解析器--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/"/> <property name="suffix" value=".jsp"/></bean>
创建好包com.scu.mvc.web
到这里SSM框架的整合就结束了。后面进行测试,展示商品列表。
4、web.xml
<!-- 指定spring配置文件位置,如果使用了ContextLoaderListener 而没有指定位置默认会去 找/WEB-INF/applicationContext.xml 从而会抛出FileNotFound异常 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <!-- 使用Spring容器 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- 解决中文乱码问题 --> <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> </filter> <filter-mapping> <filter-name>encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <!-- 指定springmvc配置文件位置 --> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <!-- 1./* 拦截所有 jsp js .png .css 真的全拦截.struts2不拦截这些 建议不使用 2.*.action,*.do拦截以action和*.do结尾的请求 肯定能使用 ERP 3./拦截所有(不包括jsp)(包含.js,.png.css) 强烈建议使用 前台面向消费者(如天猫,京东) --> <url-pattern>*.action</url-pattern> </servlet-mapping>
注:如果拦截了静态资源,而静态资源在jsp中又需要使用的时候则需要在springmvc.xml中添加资源映射标签
<mvc:resources location="/WEB-INF/js/" mapping="/js/**"/> <mvc:resources location="/WEB-INF/css/" mapping="/css/**"/> <mvc:resources location="/WEB-INF/css/" mapping="/images/**"/>
数据库tb_item(商品表)如下
5、实体类,sql映射文件以及mapper均使用mybatis逆向工程生成。(是为了省事,自己根据需求写也很简单)
6、Service层
@Servicepublic class ItemServiceImpl implements ItemService{ @Autowired private TbItemMapper itemMapper; @Transactional public List<TbItem> itemList() { //查询所有商品信息 List<TbItem> list = itemMapper.selectByExample(null); return list; }}
7、Controller层
@Controllerpublic class ItemController { @Autowired private ItemService itemService; @RequestMapping("/show") public String showUserList(HttpServletRequest request){ List<TbItem> list = itemService.itemList(); request.setAttribute("itemList", list); return "itemList"; }}
8、itemList.jsp中
<body> <form action="${pageContext.request.contextPath }/item/queryitem.action" method="post">查询条件:<table width="100%" border=1><tr><td><input type="submit" value="查询"/></td></tr></table>商品列表:<table width="100%" border=1><tr> <td>标题</td> <td>卖点</td> <td>价格</td> <td>销售截止日期</td></tr><c:forEach items="${itemList }" var="item"><tr> <td>${item.title }</td> <td>${item.sellPoint }</td> <td>${item.price }</td> <%-- <td><fmt:formatDate value="${item.createtime}" pattern="yyyy-MM-dd HH:mm:ss"/></td> --%> <td><input type="text" name="sellDeadline" value='<fmt:formatDate value="${item.sellDeadline }" pattern="yyyy-MM-dd HH:mm:ss"/>' /></td> <td><a href="${pageContext.request.contextPath }/toEdit.action?id=${item.id}">修改</a></td></tr></c:forEach></table></form></body>
启动工程指定tomcat作为运行环境,页面访问
http://localhost:8080/SpringMVC/show.action
显示:
阅读全文
1 0
- SSM框架快速整合与测试
- ssm框架整合测试
- SSM框架整合Junit测试
- SSM框架整合之 junit测试
- 快速搭建springboot框架以及整合ssm+shiro+安装Rabbitmq和Erlang、Mysql下载与配置
- WebService cxf 与 ssm框架的整合
- ssh整合以及与ssm框架对比
- 史上最全SSM框架整合(四)-----测试整合后的SSM框架
- SSM:简单SSM框架整合
- SSM框架整合
- ssm框架整合
- SSM框架整合例子
- SSM框架整合
- SSM框架整合
- ssm框架整合
- SSM框架整合
- SSM 框架整合
- ssm框架总体整合
- 334. Increasing Triplet Subsequence
- 短实训-数据库基础(二)
- MyCat配置文件详解--server.xml
- 搜索专题 POJ 1159:Maze
- 线程(3)--线程调度之sleep方法
- SSM框架快速整合与测试
- Gtk的entry传递数据到内部程序
- [编程题] 黑化的牛牛
- HDU 5971
- Spring @Async异步线程池用法总结
- The program of choosing TWO parameters
- 素数筛选法
- 为什么公司用weblogic而不用tomcat
- jdbc调用存储过程