`

SpringDataJpa杂记(二) SpringMVC与SpringDataJpa小集成

阅读更多
零) 代码
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@RequestMapping(value = "/c")
public class TestController {

	@ResponseBody
	@RequestMapping(value = "/t1", method = RequestMethod.GET)
	// http://localhost:8080/c/t1?page.page=2&page.size=50&page.sort=email&page.sort.dir=desc
	public Object test1(Pageable pageable) {
		PageRequest p = (PageRequest) pageable;
		System.out.println(p.getPageNumber() + " " + p.getPageSize() + " " + p.getSort());
		return "OK";
	}
	
	@ResponseBody
	@RequestMapping(value = "/t2/{id}", method = RequestMethod.GET)
	// http://localhost:8080/c/t2/1
	public Object test2(@PathVariable("id") User user) {
		return user;
	}

}


一) Web Pagination
代码参考上面的 test1()
这需要一个WebArgumentResolver实现,这个接口我还第一次注意,MethodArgumentResolver用过,两者用法大同小异。
<mvc:annotation-driven>
	<mvc:message-converters>
		<!-- ... -->
	</mvc:message-converters>
	<mvc:argument-resolvers>
		<!-- 配置 -->
		<bean class="org.springframework.data.web.PageableArgumentResolver" />
	</mvc:argument-resolvers>
</mvc:annotation-driven>


二) Domain class web binding for Spring MVC
代码参考上面 test2()
与Web Pagination 不同,这里不是使用的WebArgumentResolver或MethodArgumentResolver,而是注册PropertyEditor,
注册时这两个bean放在root上下文之中
<bean id="conversion-service" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
	<property name="converters">
		<util:set>
		</util:set>
	</property>
	<property name="formatters">
		<util:set>
		</util:set>
	</property>
</bean>

<bean class="org.springframework.data.repository.support.DomainClassConverter">
	<constructor-arg ref="conversion-service" />
</bean>
分享到:
评论
3 楼 xiao574182979 2015-06-25  
这是我的配置文件
2 楼 xiao574182979 2015-06-25  

<context:component-scan base-package="com.xiao"></context:component-scan>
<mvc:annotation-driven conversion-service="conversion-service"></mvc:annotation-driven>

<bean id="conversion-service"
class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="converters">
<util:set>
</util:set>
</property>
<property name="formatters">
<util:set>
</util:set>
</property>
</bean>

<bean
class="org.springframework.data.repository.support.DomainClassConverter">
<constructor-arg ref="conversion-service" />
</bean>
<!-- start -->
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<!-- jpa持久化 实现厂商类 以hibernate 为例 -->
<property name="jpaVendorAdapter" ref="hibernateJpaVendorAdapter"></property>
<!-- 实体类包路径 -->
<property name="packagesToScan">
<array>
<value>com.xiao.entity</value>
</array>
</property>
<property name="jpaProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
</bean>
<!-- hibernate厂商提供的jpa支持 -->
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"
id="hibernateJpaVendorAdapter"></bean>
<!-- 启用扫描, 并进行代理支持 -->
<jpa:repositories base-package="com.xiao.dao"
entity-manager-factory-ref="entityManagerFactory"
transaction-manager-ref="jpaTransactionManager" />
<!-- 失误提交 -->
<bean class="org.springframework.orm.jpa.JpaTransactionManager"
id="jpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory"></property>
</bean>
<!-- 开启事物 -->
<tx:annotation-driven transaction-manager="jpaTransactionManager"
proxy-target-class="true" />
<bean class="com.alibaba.druid.pool.DruidDataSource" id="dataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/test"></property>
<property name="username" value="root"></property>
<property name="password" value="mysql"></property>
</bean>

<!-- end -->

<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="WEB-INF/jsp/" />
<property name="suffix" value=".jsp"></property>
</bean>
</beans>
1 楼 xiao574182979 2015-06-25  
我按照你说的, 好像不行

相关推荐

    手动创建 SpringMvc +SpringDataJpa+Hibernate+ freemarker mavenProject+ 环境切换 webDemo

    在本项目中,我们主要探讨如何手动构建一个基于SpringMVC、Spring Data JPA、Hibernate以及FreeMarker模板引擎的Maven工程,同时实现环境切换功能。这个基础框架为日常开发工作提供了必要的支持。 首先,SpringMVC...

    SpringMVC+Spring+SpringDataJPA+Hibernate整合登录的效果

    这是整合SpringMVC+Spring+SpringDataJPA+Hibernate简单的实现登录的功能,用的是mysql数据库,这是一个web Project 如果你用的是JavaEE6那么你要注意bean-validator.jar和weld-osgi-bundle.jar与slf4j的jar包冲突。...

    Maven整合Spring+SpringMVC+Hibernate+SpringDataJPA

    在现代Java Web开发中,"Maven整合Spring+SpringMVC+Hibernate+SpringDataJPA"是一个常见的架构组合,被广泛应用于构建企业级应用程序。这个组合通常被称为"SSM",其中"M"代表Maven,"S"代表Spring,包括Spring核心...

    2017 spring data jpa+spring4.2+springmvc+hibernate4.3 maven环境intellij idea增删改查实例

    Spring MVC与Spring其他模块紧密集成,如Spring Data JPA,提供了一种强大的、可扩展的Web开发解决方案。 **Hibernate 4.3** Hibernate是Java社区中最流行的ORM工具之一,它在4.3版本中提供了许多性能优化和新特性...

    spring+springmvc+spring data jpa+mysql

    通过学习和理解这个项目,你可以深入掌握如何使用Spring全家桶与MySQL数据库进行集成,包括如何配置Spring Boot,创建RESTful API,定义数据访问对象(DAO),以及如何利用Spring Data JPA进行数据库操作。...

    SpringMVC+Spring+Spring Data JPA+Maven

    技术架构:SpringMVC3+Spring3.1.2+Spring Data JPA+Maven 声明:该应用仅仅是技术研究:Spring Data JPA的配置和常见api的使用&maven构建项目,其他技术不在此研究 内涵sql和各种Spring Data JPA测试和案例,导入&...

    基于javaConfig的springDataJpa+dubbo+springMvc搭建

    在提供的文件列表中,"基于javaConfig的springDataJpa+dubbo+springMvc搭建.txt"可能包含详细的搭建步骤和示例代码,"pom.xml"是项目的依赖管理文件,"sdk"和"web"、"app"可能是项目代码或资源文件的目录。...

    Spring+SpringMVC+SpringDataJPA+Hibernate

    在本文中,我们将深入探讨"Spring+SpringMVC+SpringDataJPA+Hibernate"这个集成框架,这是一个在Java开发中广泛使用的强大组合,用于构建高效、可扩展的企业级应用程序。 首先,Spring是一个全面的Java应用框架,它...

    spring4.x+springdatajpa+springmvc+maven搭建

    通过使用Spring Data JPA,开发者可以利用注解驱动的方法接口直接与数据库交互,这些接口对应于CRUD(创建、读取、更新、删除)操作。例如,只需要定义一个Repository接口,Spring Data JPA就会自动生成实现,从而极...

    ssh整合(spring springmvc hibernate maven spring data jpa)

    在SSH整合中,我们需要在`pom.xml`中添加Spring、SpringMVC、Hibernate、Spring Data JPA等相关库的依赖。 在项目结构中,`project-tests`可能是一个包含单元测试或集成测试的目录。在Java开发中,测试是非常重要的...

    spring data jpa + spring + json demo

    同时,它也表明项目已经配置好了Spring Data JPA,并且经过验证可以正常运行,这意味着数据持久化层已经通过JPA与数据库进行了有效交互。 在使用Spring Data JPA时,开发者无需编写大量的DAO(Data Access Object)...

    SpringMVC+Spring Data JPA+Shiro+EasyUI 简单demo

    1. **配置文件**:如`applicationContext.xml`用于配置SpringMVC和Spring Data JPA,以及Shiro的安全配置。 2. **实体类**:对应数据库中的表,使用JPA注解进行映射。 3. **Repository接口**:继承Spring Data JPA的...

    jdk 1.8 springmvc+hibernate+springData jpa基本框架.rar

    该压缩包文件“jdk 1.8 springmvc+hibernate+springData jpa基本框架.rar”是一个基于Java技术栈的Web开发项目模板,主要涵盖了Spring MVC、Hibernate和Spring Data JPA这三个核心组件。这个项目是针对Java 1.8版本...

    springmvc+datajpa

    Spring MVC 和 Spring Data JPA 是两个非常重要的 Java 开发框架,它们在企业级 Web 应用开发中扮演着核心角色。Spring MVC 是 Spring 框架的一部分,主要用于构建高效的、可维护的 MVC(模型-视图-控制器)结构的 ...

    SpringMVC+Spring+Spring-Data-JPA整合-完整Demo

    本项目“SpringMVC+Spring+Spring-Data-JPA整合-完整Demo”旨在提供一个全面的示例,展示如何将SpringMVC、Spring和Spring Data JPA这三个关键模块集成到一个应用程序中。下面,我们将深入探讨这些技术及其整合的...

    springMvc data jpa example

    在 "springMvc data jpa example" 中,我们将探讨如何将这两者结合使用,创建一个基于 Spring 3.1.2 和 Spring Data JPA 1.3.1 的示例应用。 首先,让我们深入了解 Spring MVC。Spring MVC 提供了一个模型-视图-...

    CRM营销系统 spring+springmvc+springdatajpa+jsp+maven

    这个项目采用了Spring、SpringMVC、SpringDataJPA和JSP等技术,结合Maven进行构建和管理依赖。以下将详细介绍这些关键技术及其在CRM系统中的应用。 1. Spring框架:Spring是一个全面的后端开发框架,它提供依赖注入...

    Spring+Spring MVC+SpringData JPA整合完成增删改查,翻页实例.zip

    在这个"Spring+Spring MVC+SpringData JPA整合完成增删改查,翻页实例"中,我们将深入探讨这三个组件如何协同工作,实现高效的数据管理与用户交互。 首先,Spring MVC是Spring框架的一个模块,专门用于构建Web应用...

    基于javaConfig的springDataJpa+dubbo+springMvc搭建(二)

    使用Spring Data JPA可以方便地处理与数据库的交互,而Spring MVC则负责处理前端请求和返回响应。 总结来说,这个项目展示了如何利用JavaConfig配置Spring Data JPA、Dubbo和Spring MVC来构建一个现代化的分布式...

Global site tag (gtag.js) - Google Analytics