wood burning stoves 2.0*
The moose likes Struts and the fly likes JPA /springs ApplicationContext.xml Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Frameworks » Struts
Bookmark "JPA /springs ApplicationContext.xml" Watch "JPA /springs ApplicationContext.xml" New topic
Author

JPA /springs ApplicationContext.xml

Vinoth kumar Gajapathy
Greenhorn

Joined: Oct 05, 2007
Posts: 16
I am new to JPA can any one explain why and what purpose we using following all springs class [1) to 8)] and also purpose of persistence.xml

1)org.apache.struts2.dispatcher.FilterDispatcher
2)org.springframework.web.context.ContextLoaderListener

<bean
3)class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />

<bean id="personService" class="quickstart.service.PersonServiceImpl" />

<bean id="entityManagerFactory"
4)class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="jpaVendorAdapter">
<bean
5) class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="database" value="MYSQL" />
<property name="showSql" value="true" />
</bean>
</property>
</bean>

<bean id="dataSource"
6)class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost/quickstart" />
<property name="username" value="root" />
<property name="password" value="root" />
</bean>
7)
<bean id="transactionManager"
class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
8)
<tx:annotation-driven transaction-manager="transactionManager" />
Merrill Higginson
Ranch Hand

Joined: Feb 15, 2005
Posts: 4864
I'm not going to give you a detailed explanation of each class, but the general concept is this:

JPA is an standard only, just as Java EE is a standard only. In order to make both work, you must have an implementation of that standard or API.

For example, the authors of the Java EE standard didn't actually write an application server. They provided a standard for writing application servers. IBM, BEA, RedHat and others then created WebSphere, WebLogic, JBoss, etc. all of which implement the Java EE standard.

In the same manner, various vendors or open source projects have created implementations of the JPA standard. The example you've chosen happens to be the Spring/Hibernate implementation of the JPA standard. If you had chosen the Toplink implementation or the OpenJPA implementation, you would see no Spring-specific classes in those implementations.

This question has only marginal relevance to this forum because it appears to be in a Struts 2 application. If you need more understanding of how Spring, JPA, or Hibernate work, your best bet would be to ask these questions in forums more appropriate to those topics.

Oh, and one other thing: Please review the JavaRanch Naming Policy and adjust your displayed name accordingly.
[ March 10, 2008: Message edited by: Merrill Higginson ]

Merrill
Consultant, Sima Solutions
 
 
subject: JPA /springs ApplicationContext.xml