java 中 springmvc + openjpa 配置 注解
2012-10-10 08:46
381 查看
前提: openjpa 包,spring 3.0以上 java6
jpa: 在ecplise 中创建 jpa 项目 ,配置persistence.xml 如下:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> <persistence-unit name="bankJpa" transaction-type="RESOURCE_LOCAL">
<!-- 定义jpa的Provider -->
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
<class>model.City</class>
<properties>
<!--
<property name="javax.persistence.jdbc.url" value="jdbc:sqlserver://10.94.3.201:1433;databaseName=Tree"/>
<property name="javax.persistence.jdbc.user" value="sa0"/>
<property name="javax.persistence.jdbc.password" value="1Foxconn99"/>
<property name="javax.persistence.jdbc.driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
-->
<property name="openjpa.ClassLoadEnhancement" value="true" />
<property name="openjpa.DynamicEnhancementAgent" value="true" />
<property name="openjpa.RuntimeUnenhancedClasses" value="supported" />
</properties>
</persistence-unit>
</persistence>
注意在发布后,这个jpa项目中 不要含有 persistence.xml ,这个文件要放到 web 项目的 WEB-INF\classes\meta-info\persistence.xml 下面 ,不然会出现错误
2 springmvc 中 配置 ,
<?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:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
<!-- 自动扫描的包名 -->
<context:component-scan base-package="com.notes.face" />
<context:component-scan base-package="com.notes.services" />
<context:component-scan base-package="com.notes.control" ></context:component-scan>
<!-- 默认的注解映射的支持 -->
<mvc:annotation-driven />
<!--
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="helloWorld.do">helloWorldAction</prop>
</props>
</property>
</bean>
-->
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass">
<value>org.springframework.web.servlet.view.InternalResourceView</value>
</property>
</bean>
<!--指定控制器的实现类,
<bean id="helloWorldControl" class="com.notes.control.HelloWorldControl">
<property name="helloWorld">
<value>Hello mys World!</value>
</property>
<property name="viewPage">
<value>index.jsp</value>
</property>
</bean>
并且配置其参数的值-->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" >
<property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<property name="url" value="jdbc:sqlserver://10.94.3.200:1433;databaseName=Tree"/>
<property name="username" value="sa"/>
<property name="password" value="Foxconn99"/>
</bean>
<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor"/>
<bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator"/>
<!--
<bean class="org.springframework.transaction.interceptor.TransactionAttributeSourceAdvisor">
<property name="transactionInterceptor" ref="transactionInterceptor"/>
</bean>
<bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager" ref="txManager"/>
<property name="transactionAttributeSource">
<bean class="org.springframework.transaction.annotation.AnnotationTransactionAttributeSource"/>
</property>
</bean>
-->
<tx:annotation-driven transaction-manager="txManager"/>
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.OpenJpaVendorAdapter">
<property name="showSql" value="true"/>
<property name="generateDdl" value="true"/>
<property name="databasePlatform" value="org.apache.openjpa.jdbc.sql.SQLServerDictionary"/>
<!-- property name="databasePlatform" value="org.apache.openjpa.jdbc.sql.DerbyDictionary"/ -->
</bean>
</property>
<property name="loadTimeWeaver">
<bean class="org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver"/>
<!--
<bean class="org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver"/>
-->
</property>
</bean>
<bean id="txManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>
</beans>
我原来在springmvc 中做的 dao 和Service 后来把他们放到独立的 jar包中 , 始终 不能够创建 注解的 entityManagerFactory ,后来在网上找到一个文章,就是
dao,service 打包时候要选择 add directroy enties 入口,才可以扫描到( <context:component-scan base-package="com.notes.services" />)
3 一些 dao,service 的 jar 放到 web-info\lib 下面
88e9
jpa: 在ecplise 中创建 jpa 项目 ,配置persistence.xml 如下:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> <persistence-unit name="bankJpa" transaction-type="RESOURCE_LOCAL">
<!-- 定义jpa的Provider -->
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
<class>model.City</class>
<properties>
<!--
<property name="javax.persistence.jdbc.url" value="jdbc:sqlserver://10.94.3.201:1433;databaseName=Tree"/>
<property name="javax.persistence.jdbc.user" value="sa0"/>
<property name="javax.persistence.jdbc.password" value="1Foxconn99"/>
<property name="javax.persistence.jdbc.driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
-->
<property name="openjpa.ClassLoadEnhancement" value="true" />
<property name="openjpa.DynamicEnhancementAgent" value="true" />
<property name="openjpa.RuntimeUnenhancedClasses" value="supported" />
</properties>
</persistence-unit>
</persistence>
注意在发布后,这个jpa项目中 不要含有 persistence.xml ,这个文件要放到 web 项目的 WEB-INF\classes\meta-info\persistence.xml 下面 ,不然会出现错误
2 springmvc 中 配置 ,
<?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:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
<!-- 自动扫描的包名 -->
<context:component-scan base-package="com.notes.face" />
<context:component-scan base-package="com.notes.services" />
<context:component-scan base-package="com.notes.control" ></context:component-scan>
<!-- 默认的注解映射的支持 -->
<mvc:annotation-driven />
<!--
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="helloWorld.do">helloWorldAction</prop>
</props>
</property>
</bean>
-->
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass">
<value>org.springframework.web.servlet.view.InternalResourceView</value>
</property>
</bean>
<!--指定控制器的实现类,
<bean id="helloWorldControl" class="com.notes.control.HelloWorldControl">
<property name="helloWorld">
<value>Hello mys World!</value>
</property>
<property name="viewPage">
<value>index.jsp</value>
</property>
</bean>
并且配置其参数的值-->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" >
<property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<property name="url" value="jdbc:sqlserver://10.94.3.200:1433;databaseName=Tree"/>
<property name="username" value="sa"/>
<property name="password" value="Foxconn99"/>
</bean>
<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor"/>
<bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator"/>
<!--
<bean class="org.springframework.transaction.interceptor.TransactionAttributeSourceAdvisor">
<property name="transactionInterceptor" ref="transactionInterceptor"/>
</bean>
<bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager" ref="txManager"/>
<property name="transactionAttributeSource">
<bean class="org.springframework.transaction.annotation.AnnotationTransactionAttributeSource"/>
</property>
</bean>
-->
<tx:annotation-driven transaction-manager="txManager"/>
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.OpenJpaVendorAdapter">
<property name="showSql" value="true"/>
<property name="generateDdl" value="true"/>
<property name="databasePlatform" value="org.apache.openjpa.jdbc.sql.SQLServerDictionary"/>
<!-- property name="databasePlatform" value="org.apache.openjpa.jdbc.sql.DerbyDictionary"/ -->
</bean>
</property>
<property name="loadTimeWeaver">
<bean class="org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver"/>
<!--
<bean class="org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver"/>
-->
</property>
</bean>
<bean id="txManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>
</beans>
我原来在springmvc 中做的 dao 和Service 后来把他们放到独立的 jar包中 , 始终 不能够创建 注解的 entityManagerFactory ,后来在网上找到一个文章,就是
dao,service 打包时候要选择 add directroy enties 入口,才可以扫描到( <context:component-scan base-package="com.notes.services" />)
3 一些 dao,service 的 jar 放到 web-info\lib 下面
88e9
相关文章推荐
- Android studio java 注解处理器调试配置
- 基于maven的SpringMVC,Spring,MyBatis的全注解配置
- springMvc中获取通过注解获取properties配置文件
- springmvc注解配置例子的实例代码下载
- java ssh 加注解整合配置
- spring 配置的两种方式:JAVA配置和注解配置
- Java 基于quartz实现定时 之一(注解方式配置)
- Spring通过java注解的方式进行配置annotation
- Spring基础篇——通过Java注解和XML配置装配bean
- 在EasyDBO中使用Java注解配置映射的原理及使用
- [java][spring]取得通过配置文件和注解注入的bean、取得当前数据库连接、取得Appli
- 【Java.Spring.Core】【IoC】基于注解的Bean装配(非XML配置)
- java springmvc 引入jdbc多个配置文件
- spring mvc 第二天【注解实现springmvc Handler处理ajax简单请求 的配置】
- SpringBoot系列——Java配置(SpringMVC配置)
- SpringBoot系列——Java配置(SpringMVC配置)
- Java Persistence with MyBatis 3(中文版) 第四章 使用注解配置SQL映射器
- java自定义注解实现对象到xml配置的转换
- SpringMVC4 + Spring + MyBatis3 基于注解的最简配置
- 基于注解的Spring MVC整合Hibernate(所需jar包,spring和Hibernate整合配置,springMVC配置,重定向,批量删除)