闲来无事,学了一下新的spring mvc 3.2,感觉比之前版本好用,很灵活。
顺便与mybatis整合了,
写了个学生选课demo,
主要实现点:
1. mybatis-3.2.2与spring 3.2.0整合,整合时只需要在applicationContext.xml里配mybatis一些信息,
关键代码:
applicationContext.xml
<context:property-placeholder location="classpath:jdbc.properties"/> <bean id="dataSource" class="org.apache.ibatis.datasource.pooled.PooledDataSource" destroy-method="forceCloseAll"> <property name="driver" value="${jdbc.driver}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </bean> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> </bean> <tx:annotation-driven/> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="typeAliasesPackage" value="com.jayung.curriculum.domain"/> </bean> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.jayung.curriculum.mapper"/> </bean>
用spring管理mybatis事务,无需写DAO的实现类了,代码很简洁,service层直接调用mybatis的mapper类(相当于DAO接口),增删改操作,只须在service对应的方法上加上@Transactional
@Transactional public void save(Student student) { studentMapper.insert(student); }
2. spring mvc
全面使用注解,非常简洁,在编码时,无需在xml与java代码来回切换,一个@Controller和@RequestMapping就代替了大量的xml配置,感觉很好。
写了两个拦截器,一个拦截学生是否登录,一个拦截管理员是否登录,使用spring拦截器代替Filter来检测是否登录,基于RequestMapping拦截比Filter更有效,还可以配置例外拦截白名单。
<mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/student/**"/> <mvc:mapping path="/courses"/> <bean class="com.jayung.curriculum.web.interceptor.LoginInterceptor"/> </mvc:interceptor> <mvc:interceptor> <mvc:mapping path="/console/**"/> <bean class="com.jayung.curriculum.web.interceptor.ConsoleInterceptor"> <property name="excludeURIs"> <list> <value>/console</value> <value>/console/login</value> </list> </property> </bean> </mvc:interceptor> </mvc:interceptors>
3. restful的url
实现类似于iteye的url http://www.iteye.com/news/28054,
例如:http://localhost:8080/curriculum/student/1234,显示学号为1234的学生信息,http://localhost:8080/curriculum/student/1234/courses,显示学号为1234的所选的课,
http://localhost:8080/curriculum/console/student/1122/edit,编辑学号为1122学生的信息。
以前要实现这样的url,要借助于UrlRewriteFilter,现在用spring mvc可以原生实现这样的url,不过由于目前浏览器只支持post和get两种提交方式,rest全部实现还依赖rest相关包。
@RequestMapping("/student/{studentId}") public String view(@PathVariable String studentId, Model model) { model.addAttribute("student", studentService.view(studentId)); return "/student/view"; }
附件Demo包含以下内容,
spring,spring mvc,mybatis,spring登录拦截器,spring定时任务实际方式,ajax传输json格式数据等
附件已重新整理上传。供有需要的同学参考。
相关推荐
在本文中,我们将深入探讨如何将Spring MVC、Spring和Mybatis这三大流行框架整合到一个Java Web项目中,创建一个高效、灵活的数据访问层。这个整合的Demo项目名为"ssm-demo",它是一个基于Maven构建的项目,这意味着...
在本项目中,我们主要探讨的是一个基于Java的Web应用架构,它采用了Spring、MyBatis、Spring MVC、Maven以及MySQL这五大技术组件。这是一个经典的后端开发框架组合,适用于构建复杂、可扩展的企业级应用程序。下面将...
【项目原型】spring+spring mvc+mybatis+shiro+maven+bootstrap+ajax+json+分页+逆向工程 包含现在最流行的技术框架,快速部署各种应用,加入shiro权限框架,安全,美观,你值得拥有
SSM(Spring、Spring MVC、MyBatis)是Java Web开发中常见的三层架构组合,用于构建高效、灵活的Web应用程序。下面将详细讲解这三大框架的整合过程以及它们各自的核心功能。 **Spring框架**:Spring是Java企业级...
本项目是基于Spring Boot、Spring、Spring MVC和MyBatis技术栈实现的Flutter微校园APP的服务端程序。这个服务端程序旨在为Flutter前端提供稳定、高效的数据接口,以支持校园生活的各种功能,如课程管理、成绩查询、...
在"Spring MVC+MyBatis整合项目源码"中,我们可以学习到以下关键知识点: 1. **Spring MVC配置**: - 配置Spring MVC的核心组件:DispatcherServlet、ApplicationContext配置、HandlerMapping和HandlerAdapter。 ...
【标题】"Spring MVC + Spring + MyBatis 框架" 这个框架组合,通常被称为“SSM”(Spring、Spring MVC、MyBatis),是中国移动10085电商平台模仿构建的基础架构。SSM是Java后端开发中非常流行的一个技术栈,尤其在...
自己搭建的简单的Spring + Spring MVC + Mybatis框架 功能比较简单但是比较实用 初学者适用 需项目使用的请自行添加功能 集成功能 1.提供分页参数自动查询总数 2.实体校验(hibernate-validator) 3.单用户登录(监听...
5. **Controller层**:Spring MVC的控制器,负责接收HTTP请求,调用Service层的方法,最后返回视图或JSON数据。 6. **事务管理**:Spring的@Transactional注解用于标记在哪些方法上开启事务,当方法执行完毕后,...
在整合Spring MVC、MyBatis和DWR的过程中,通常会采用以下步骤: 1. **配置Spring MVC**:创建Spring MVC的配置文件,定义DispatcherServlet、视图解析器、模型-视图-适配器(MVC)组件,以及其它必要的拦截器和...
在本项目中,我们主要探讨的是如何利用Spring4 MVC、Maven、MySQL数据库、MyBatis框架以及前端JSON数据来动态生成表格。这是一个常见的Web应用开发模式,它可以帮助开发者快速构建数据驱动的Web应用程序。 首先,...
在IT行业中,构建一个后台管理系统是一项常见的任务,而Spring、Spring MVC、MyBatis和X-Admin这四个组件是常用的技术栈。本文将详细介绍如何利用这些技术搭建一个高效的后台系统。 首先,Spring框架是一个全面的...
SSM框架是Java Web开发中常用的一种组合,由Spring MVC、Spring和Mybatis三个组件构成,用于构建高效、灵活的Web应用。这个基于SSM的客户关系管理系统(CRM)毕业设计,利用了Maven进行项目构建,确保了依赖管理的便捷...
这个"Spring+SpringMVC+Mybatis框架整合例子(SSM) 下载"资源很适合新手学习,它提供了完整的整合示例,包括配置文件、实体类、Mapper、Service和Controller等,通过实践可以快速理解SSM框架的协同工作原理。...
《Spring4+Mybatis3+SpringMVC4实战》是一个基于这三个流行开源框架构建的完整项目,旨在帮助学习者深入理解和实践SSM(Spring、SpringMVC、Mybatis)架构。这个项目涵盖了从基础配置到高级特性的全方位应用,对于...
描述中提到的"spring+json+gson+mysql",表明这个平台不仅包含了上述的三大框架,还涉及到了JSON序列化和MySQL数据库。JSON是一种轻量级的数据交换格式,广泛用于前后端交互。Gson是Google提供的一个库,用于在Java...
在Java Web开发中,Maven、Spring MVC和Mybatis是三个非常重要的技术栈。Maven是一个项目管理和集成工具,Spring MVC是Spring框架的一部分,用于构建Web应用程序,而Mybatis则是一个轻量级的持久层框架,它简化了...
这里使用的是MyBatis 3.1.1,同时还需要mybatis-spring和mybatis-generator-core的相应版本,以便整合Spring并自动生成数据库操作代码。 4. **jQuery**:jQuery是一个JavaScript库,简化了HTML文档遍历、事件处理、...
Spring Boot MVC + Maven + MyBatis 是一个常见的Java Web开发技术栈,用于构建高效、简洁且可独立运行的微服务应用。在这个项目中,我们主要关注三个核心组件:Spring Boot、MVC 和 MyBatis。 1. **Spring Boot**...