Spring 4 MVCHibernate 4My.SQLMaven integration example using annotations.In this tutorial, we will integrate Spring with Hibernate using annotation based configuration.We will develop a simple CRUD oriented web application containing a form asking user input, saving that input in My.SQL database using Hibernate, retrieving the records from database and updating or deleting them within transaction, all using annotation configuration.Testing part of this post is covered in detail in Next Post where we perform unitintegration test using Test.Tomcat Eclipse Plugin Update Site Map' title='Tomcat Eclipse Plugin Update Site Map' />Configuring Using Apache Tomcat A Tutorial on Installing and Using Jakarta Tomcat 5.Servlet and JSP Development This covers a very old Tomcat version Download the free trial version below to get started.Doubleclick the downloaded file to install the software.Oracle acquired Sun Microsystems in 2010, and since that time Oracles hardware and software engineers have worked sidebyside to build fully integrated systems and.CNFX.png' alt='Tomcat Eclipse Plugin Update Site Map' title='Tomcat Eclipse Plugin Update Site Map' />NG, mockito, spring test, DBUnit H2 database.To know more about testing with Test.NG in general, please refer our Test.NG Tutorials. Lets get going.Following technologies being used Spring 4.RELEASEHibernate Core 4.Finalvalidation api 1.Finalhibernate validator 5.Final. My. SQL Server 5.Maven 3. JDK 1. 7.Tomcat 8. 0. 2. 1Eclipse JUNO Service Release 2.Test. NG 6. 9. 4.Mockito 1. 1. 0. 1.DBUnit 2. 2. H2 Database 1.Lets begin. Step 1 Create the directory structure.Following will be the final project structure Lets now add the content mentioned in above structure explaining each in detail.Step 2 Update pom.Locationhttp maven.POM4. 0. 0 http maven.POM4. 0. 0 xmlns xsihttp www.XMLSchema instance.Version 4. 0. Version.Id com. websystique.Id. lt artifact. Id Spring.Hibernate. Examplelt artifact.Id. lt packaging warlt packaging.Spring. Hibernate.Examplelt name. RELEASElt springframework.Finallt hibernate.Spring. lt dependency.Id org. springframeworklt group.Id. lt artifact. Id spring corelt artifact.Id. lt version springframework.Id org. springframeworklt group.Id. lt artifact. Id spring weblt artifact.Id. lt version springframework.Id org. springframeworklt group.Id. lt artifact. Id spring webmvclt artifact.Id. lt version springframework.Id org. springframeworklt group.Id. lt artifact. Id spring txlt artifact.Id. lt version springframework.Id org. springframeworklt group.Id. lt artifact. Id spring ormlt artifact.Id. lt version springframework.Hibernate. Id org.Id. lt artifact. Id hibernate corelt artifact.Id. lt version hibernate.Id javax. validationlt group.Id. lt artifact. Id validation apilt artifact.Id. lt version 1.Finallt version. Id org.Id. lt artifact. Id hibernate validatorlt artifact.Id. lt version 5.Finallt version. My.SQL. lt dependency.Id mysqllt group.Id. lt artifact. Id mysql connector javalt artifact.Id. lt version mysql.Joda Time. Id joda timelt group.Id. lt artifact. Id joda timelt artifact.Id. lt version joda time.To map Joda. Time with database type.Id org. jadira. Id.Id usertype. corelt artifact.Id. lt version 3.CR1lt version. ServletJSPJSTL.Id javax. servletlt group.Id. lt artifact. Id javax.Id. lt version 3.Id javax. servlet.Id. lt artifact. Id javax.Id. lt version 2.Id javax. servletlt group.Id. lt artifact. Id jstllt artifact.Id. lt version 1.Testing dependencies.Id org. springframeworklt group.Id. lt artifact. Id spring testlt artifact.Id. lt version springframework.Id org. testnglt group.Id. lt artifact. Id testnglt artifact.Id. lt version testng.Id org. mockitolt group.Id. lt artifact. Id mockito alllt artifact.Id. lt version mockito.Id com. h. 2databaselt group.Id. lt artifact. Id h.Id. lt version h.Id dbunitlt group.Id. lt artifact. Id dbunitlt artifact.Id. lt version dbunit.Management. lt plugins.Id org. apache. Id.Id maven compiler pluginlt artifact.Id. lt version 3.Id org. apache. Id.Id maven war pluginlt artifact.Id. lt version 2.Source. Directory srcmainwebapplt war.Source. Directory.Name Spring. Hibernate.Examplelt war. Name.On. Missing. Web.Xml falselt fail.On. Missing. Web.Xml. lt configuration.Management. lt final.Name Spring. Hibernate.Examplelt final. Name.First thing to notice here is the maven war plugin declaration.As we are using full annotation configuration, we dont even include web.Since in this example we will use a form to accept input from user, we need also to validate the user input.We will choose JSR3.Validation here, so we have included validation api which represents the specification, and hibernate validator which represents an implementation of this specification.Email, Not. Empty, etc.Along with that, we have also included JSPServletJstl dependencies which we will be needing as we are going to use servlet apis and jstl view in our code.In general, containers might already contains these libraries, so we can set the scope as provided for them in pom.We also have added testing dependencies.Testing part of this post is described in detail in Next post.Rest of the dependencies are for Spring, Hibernate and Joda Time.Step 3 Configure Hibernatecom.Hibernate. Configuration.Properties. import javax.Data. Source. import org.Session. Factory.Autowired. import org.Bean. import org.Component. Scan. import org.Configuration. import org.Property. Source.Environment. import org.Driver. Manager. Data.Source. import org.Hibernate. Transaction.Manager. import org.Local. Session. Factory.Bean. import org.Enable. Transaction.Management. Enable.Transaction. Management.Component. Scan com.Property. Sourcevalue classpath application.Hibernate. Configuration.Environment environment.Local. Session. Factory. Adobe Central Pro Output Server Download . Bean session. Factory.Local. Session. Factory.Bean session. Factory new Local.Session. Factory.Bean. session. Factory.Data. Sourcedata.Source. session. Factory.Packages. To. Scannew String com.Factory. set. Hibernate.Propertieshibernate.Properties. return session.Factory. public Data.Source data. Source.Driver. Manager. Data.Source data. Source new Driver.Manager. Data. Source.Source. set. Driver.Class. Nameenvironment.Required. Propertyjdbc.Class. Name. data.Source. set. Urlenvironment.Required. Propertyjdbc.Source. set. Usernameenvironment.Required. Propertyjdbc.Source. set. Passwordenvironment.Required. Propertyjdbc.Source. private Properties hibernate.Properties. Properties properties new Properties.Required. Propertyhibernate.Required. Propertyhibernate.Required. Propertyhibernate.Hibernate. Transaction.Manager transaction.ManagerSession. Factory s.Hibernate. Transaction.Manager tx. Manager new Hibernate.Transaction. Manager.Manager. set. Session.Factorys. return tx.Manager. Configuration indicates that this class contains one or more bean methods annotated with Bean producing beans manageable by spring container.In our case, this class represent hibernate configuration.Component. Scan is equivalent to context component scan base package.Enable. Transaction.Management is equivalent to Springs tx XML namespace, enabling Springs annotation driven transaction management capability.Property. Source is used to declare a set of propertiesdefined in a properties file in application classpath in Spring run time Environment, providing flexibility to have different values in different application environments.Method session. Factory is creating a Local.Session. Factory.Bean, which exactly mirrors the XML based configuration We need a data.Source and hibernate properties same as hibernate.Thanks to Property.Source, we can externalize the real values in a.Springs Environment to fetch the value corresponding to an item.Once the Session.Factory is created, it will be injected into Bean method transaction.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
October 2017
Categories |