{"id":1642,"date":"2012-08-23T10:00:00","date_gmt":"2012-08-23T10:00:00","guid":{"rendered":"http:\/\/www.javacodegeeks.com\/2012\/10\/maven-web-project-kickstarter-codebase-with-spring-hibernate-akka-twitter-bootstrap-apache-tiles-and-jquery.html"},"modified":"2012-10-22T06:22:30","modified_gmt":"2012-10-22T06:22:30","slug":"maven-web-project-kickstarter-codebase","status":"publish","type":"post","link":"https:\/\/www.javacodegeeks.com\/2012\/08\/maven-web-project-kickstarter-codebase.html","title":{"rendered":"Maven Web Project Kickstarter Codebase with Spring, Hibernate, Akka, Twitter Bootstrap, Apache Tiles and jQuery"},"content":{"rendered":"<div dir=\"ltr\" style=\"text-align: left\">\n<div dir=\"ltr\" style=\"text-align: left\">I am happy to upload my second project to GitHub to help people get started with Java Web App Development as quickly as possible. I am sharing this code with Apache License 2.0. Here is the URL for the same:       <\/p>\n<p><a href=\"https:\/\/github.com\/ykameshrao\/spring-hibernate-springdata-springmvc-maven-project-framework\" target=\"_blank\" title=\"spring-hibernate-springdata-springmvc-maven-project-framework\"><\/a><a href=\"https:\/\/github.com\/ykameshrao\/spring-hibernate-springdata-springmvc-maven-project-framework\" target=\"_blank\">https:\/\/github.com\/ykameshrao\/spring-hibernate-springdata-springmvc-maven-project-framework<\/a>     <\/p>\n<p>The project consists of following parts:      <\/p>\n<p>1) <strong>Commons-Deps<\/strong>: Dependencies declared as a single pom file to easily manage the project dependencies. It is upto personal choice of users to still continue have it this way or go with their own chosen method to manage dependencies in maven pom.      <\/p>\n<p>2) <strong>Commons<\/strong>: A lot of common code snippets are provided as part of commons jar module to help send mails using gmail, java mail, utf8 encoding, JCS cache managers, session managers, random string, etc.      <\/p>\n<p>3) <strong>Framework<\/strong>: This part of the code base includes JPA and Spring Data Entities, JPA and Spring Data Repositories, Services which are built using Java Generics to help provide the CRUD actions on these Entities when users build their own domain specific entities, repositories and services extending the ones provided here. It also contains, API and Web App Controllers providing basic functionality again for people interested in building their own Spring MVC controllers using these. Also, contained here are validators, exceptions, AOP based exception handlers.      <\/p>\n<p>4) <strong>Your Own Web App Code<\/strong>: This part of the code provides a bootstrapped web project with API and Web UI using the best practices I picked across time to do things using the third party frameworks, libraries I have chosen here. The API parts is configured to accept and generate both XML and JSON request and response formats. Akka is also configured here to present the method in which it can be used to offload activities from your Spring MVC controllers (Servlets). Here it is programmed to offload the task of sending emails.      <\/p>\n<p>This is the wrapper framework laid out to start building Spring based Web apps with Hibernate ORM layer or Spring Data ORM powered NoSQL and Spring MVC in Java programming language. The purpose of this project is to get you started quickly in Java web app development over a widely used and tested Java web development infrastructure.       <\/p>\n<p>This project provides sample hibernate entities, spring data entities, akka actors to offload mail sending like jobs, models, repositories, services and controllers classes. There are also many framework level classes to help handle exceptions and errors in the project you may start developing using this. The UI for the default simple web project bundled in this framework is built using Twiiter Bootstrap, Apache Tiles, jQuery, jQuery Validation, JSPs.      <div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<p><strong>I can try my best to provide with as much detail as possible here, but the best way to understand all that is provided is by reading the code. Therefore, I also provided a sample web app project with functionality to register and login a user. All the code is presented in a package structure that can be renamed as per your own choice and requirements. Enjoy!<\/strong>     <\/p>\n<p><strong>Configurations<\/strong>             <strong>config\/props\/mail.properties<\/strong><\/p>\n<pre class=\"brush:bash\">mail.transport.protocol=smtps\r\nmail.host=smtp.gmail.com\r\nmail.user=\r\nmail.pass=\r\nmail.port=465\r\nmail.starttls=true\r\nmail.auth=true\r\nmail.debug=true\r\nmail.fromAddress=\r\n<\/pre>\n<p><strong>config\/props\/database.properties<\/strong><\/p>\n<pre class=\"brush:bash\"> \r\njdbc.driverClassName=com.mysql.jdbc.Driver\r\njdbc.url=jdbc:mysql:\/\/localhost:3306\/yourwebprojectdb\r\njdbc.username=\r\njdbc.password=\r\nhibernate.c3p0.min_size=5\r\nhibernate.c3p0.max_size=20\r\nhibernate.c3p0.timeout=600\r\nhibernate.c3p0.max_statements=50\r\n<\/pre>\n<p><strong>src\/main\/resources\/tiles\/templates.web.xml<\/strong>         <\/p>\n<pre class=\"brush:xml\"><i> \r\n&lt;?xml version=\u201d1.0\u201d encoding=\u201dUTF-8\u201d ?&gt;\r\n&lt;!DOCTYPE tiles-definitions PUBLIC\r\n\u201d-\/\/Apache Software Foundation\/\/DTD Tiles Configuration 2.0\/\/EN\u201d\r\n\u201dhttp:\/\/tiles.apache.org\/dtds\/tiles-config_2_0.dtd\u201d&gt;\r\n \r\n&lt;tiles-definitions&gt;\r\n &lt;definition name=\u201dbase\u201d template=\u201d\/WEB-INF\/views\/layout\/web.jsp\u201d&gt;\r\n  &lt;put-attribute name=\u201dtitle\u201d value=\u201d\u201d \/&gt;\r\n  &lt;put-attribute name=\u201dheader\u201d value=\u201d\/WEB-INF\/views\/common\/header.web.jsp\u201d \/&gt;\r\n  &lt;put-attribute name=\u201dmessage\u201d value=\u201d\/WEB-INF\/views\/common\/message.web.jsp\u201d \/&gt;\r\n  &lt;put-attribute name=\u201dcontent\u201d value=\u201d\u201d \/&gt;\r\n  &lt;put-attribute name=\u201dfooter\u201d value=\u201d\/WEB-INF\/views\/common\/footer.web.jsp\u201d \/&gt;\r\n &lt;\/definition&gt;\r\n      \r\n &lt;definition name=\u201dhome\u201d extends=\u201dbase\u201d&gt;\r\n  &lt;put-attribute name=\u201dtitle\u201d value=\u201dYour Web Project\u201d \/&gt;\r\n  &lt;put-attribute name=\u201dcontent\u201d value=\u201d\/WEB-INF\/views\/web\/home.web.jsp\u201d \/&gt;\r\n &lt;\/definition&gt;\r\n      \r\n &lt;definition name=\u201duserRegistration\u201d extends=\u201dbase\u201d&gt;\r\n  &lt;put-attribute name=\u201dtitle\u201d value=\u201dRegister\u201d \/&gt;\r\n  &lt;put-attribute name=\u201dcontent\u201d value=\u201d\/WEB-INF\/views\/web\/userRegistration.web.jsp\u201d \/&gt;\r\n &lt;\/definition&gt;\r\n      \r\n &lt;definition name=\u201ddashboard\u201d extends=\u201dbase\u201d&gt;\r\n  &lt;put-attribute name=\u201dtitle\u201d value=\u201dDashboard\u201d \/&gt;\r\n  &lt;put-attribute name=\u201dcontent\u201d value=\u201d\/WEB-INF\/views\/web\/dashboard.web.jsp\u201d \/&gt;\r\n &lt;\/definition&gt;\r\n      \r\n &lt;definition name=\u201derror\u201d extends=\u201dbase\u201d&gt;\r\n  &lt;put-attribute name=\u201dtitle\u201d value=\u201dError\u201d \/&gt;\r\n  &lt;put-attribute name=\u201dcontent\u201d value=\u201d\/WEB-INF\/views\/web\/error.web.jsp\u201d \/&gt;\r\n &lt;\/definition&gt;\r\n&lt;\/tiles-definitions&gt;\r\n<\/i><\/pre>\n<p><strong>Startup VM Options Required<\/strong><\/p>\n<pre class=\"brush:bash\">-Dconf.path=\u201dpath-to-config-folder-on-target-machine-containing-property-files\u201d\r\n<\/pre>\n<p><strong>Refer: src\/main\/resources\/config\/spring\/applicationContext-properties.xml<\/strong><\/p>\n<pre class=\"brush:xml\">     \r\n&lt;util:properties id=\u201dmdbProps\u201d location=\u201dfile:#{systemProperties[\u2018conf.path\u2019]}\/config\/props\/mongodb.properties\u201d \/&gt;\r\n&lt;util:properties id=\u201ddbProps\u201d location=\u201dfile:#{systemProperties[\u2018conf.path\u2019]}\/config\/props\/database.properties\u201d \/&gt;\r\n&lt;util:properties id=\u201dlogProps\u201d location=\u201dfile:#{systemProperties[\u2018conf.path\u2019]}\/config\/props\/log4j.properties\u201d \/&gt;\r\n&lt;util:properties id=\u201damProps\u201d location=\u201dfile:#{systemProperties[\u2018conf.path\u2019]}\/config\/props\/api.messages.properties\u201d \/&gt;\r\n\r\n      :\r\n\r\n      :\r\n <\/pre>\n<p><strong>Screenshots<\/strong><\/p>\n<div class=\"separator\" style=\"clear: both;text-align: center\"><\/div>\n<div class=\"separator\" style=\"clear: both;text-align: center\"><a href=\"http:\/\/2.bp.blogspot.com\/-9fQSFCxwcTM\/UDPHfbqfWxI\/AAAAAAAABIw\/xw1YETDev2k\/s1600\/Screen+Shot+2012-07-07+at+8.20.49+PM.png\"><img decoding=\"async\" border=\"0\" height=\"398\" src=\"http:\/\/2.bp.blogspot.com\/-9fQSFCxwcTM\/UDPHfbqfWxI\/AAAAAAAABIw\/xw1YETDev2k\/s640\/Screen+Shot+2012-07-07+at+8.20.49+PM.png\" width=\"640\" \/><\/a><\/div>\n<div class=\"separator\" style=\"clear: both;text-align: center\"><a href=\"http:\/\/4.bp.blogspot.com\/-7j11yAHZBdU\/UDPH_9gjMdI\/AAAAAAAABI4\/UuQLniKJvYs\/s1600\/Screen+Shot+2012-07-07+at+8.21.03+PM.png\"><img decoding=\"async\" border=\"0\" height=\"398\" src=\"http:\/\/4.bp.blogspot.com\/-7j11yAHZBdU\/UDPH_9gjMdI\/AAAAAAAABI4\/UuQLniKJvYs\/s640\/Screen+Shot+2012-07-07+at+8.21.03+PM.png\" width=\"640\" \/><\/a><\/div>\n<div class=\"separator\" style=\"clear: both;text-align: center\"><a href=\"http:\/\/1.bp.blogspot.com\/-P1VZlQqgG3s\/UDPIFis1ClI\/AAAAAAAABJA\/t-N5Ah1P4lM\/s1600\/Screen+Shot+2012-07-07+at+8.22.46+PM.png\"><img decoding=\"async\" border=\"0\" height=\"398\" src=\"http:\/\/1.bp.blogspot.com\/-P1VZlQqgG3s\/UDPIFis1ClI\/AAAAAAAABJA\/t-N5Ah1P4lM\/s640\/Screen+Shot+2012-07-07+at+8.22.46+PM.png\" width=\"640\" \/><\/a><\/div>\n<div class=\"separator\" style=\"clear: both;text-align: center\"><a href=\"http:\/\/2.bp.blogspot.com\/-bnkqUkT49Mo\/UDPIMLCqarI\/AAAAAAAABJI\/qsLtSx3zZ3I\/s1600\/Screen+Shot+2012-07-07+at+8.22.49+PM.png\"><img decoding=\"async\" border=\"0\" height=\"398\" src=\"http:\/\/2.bp.blogspot.com\/-bnkqUkT49Mo\/UDPIMLCqarI\/AAAAAAAABJI\/qsLtSx3zZ3I\/s640\/Screen+Shot+2012-07-07+at+8.22.49+PM.png\" width=\"640\" \/><\/a><\/div>\n<div class=\"separator\" style=\"clear: both;text-align: center\"><a href=\"http:\/\/1.bp.blogspot.com\/-FelWDo7mwKM\/UDPIRnh1CGI\/AAAAAAAABJQ\/R1qQzdx0pc0\/s1600\/Screen+Shot+2012-07-07+at+9.37.00+PM.png\"><img decoding=\"async\" border=\"0\" height=\"398\" src=\"http:\/\/1.bp.blogspot.com\/-FelWDo7mwKM\/UDPIRnh1CGI\/AAAAAAAABJQ\/R1qQzdx0pc0\/s640\/Screen+Shot+2012-07-07+at+9.37.00+PM.png\" width=\"640\" \/><\/a><\/div>\n<p>&nbsp;<br \/>\nThe frameworks strung together supporting multiple activities in this framework layer of code are &#8211;&nbsp;<\/p>\n<\/div>\n<p><i>Maven              Java 1.7&nbsp;<\/i><br \/>\n<i>Spring 3.1.1&nbsp;<\/i><br \/>\n<i>Hibernate 4+&nbsp;<\/i><br \/>\n<i>Spring Data&nbsp;<\/i><br \/>\n<i>MongoDB&nbsp;<\/i><br \/>\n<i>Akka 1.3+&nbsp;<\/i><br \/>\n<i>Apache Tiles 2+&nbsp;<\/i><br \/>\n<i>Twitter Bootstrap 2+&nbsp;<\/i><br \/>\n<i>Velocity for Mails&nbsp;<\/i><br \/>\n<i>BootSwatch&nbsp;<\/i><br \/>\n<i>jQuery  <\/p>\n<p><strong><i>Reference: <\/i><\/strong><a href=\"http:\/\/www.orangeapple.org\/post\/26702967725\/spring-hibernate-spring-data-akka-twitter#.UDPEJ6M4rnk\">Spring, Hibernate, Spring Data, Akka, Twitter Bootstrap, Apache Tiles, jQuery powered Maven Java Web Project Kickstarter Codebase <\/a> from our <a href=\"http:\/\/www.javacodegeeks.com\/p\/jcg.html\">JCG partner<\/a> Y Kamesh Rao  at the <a href=\"http:\/\/www.orangeapple.org\/\">OrangeApple<\/a> blog.<br \/>\n<\/i> <\/div>\n","protected":false},"excerpt":{"rendered":"<p>I am happy to upload my second project to GitHub to help people get started with Java Web App Development as quickly as possible. I am sharing this code with Apache License 2.0. Here is the URL for the same: https:\/\/github.com\/ykameshrao\/spring-hibernate-springdata-springmvc-maven-project-framework The project consists of following parts: 1) Commons-Deps: Dependencies declared as a single pom &hellip;<\/p>\n","protected":false},"author":273,"featured_media":43,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[348,68,199,209,30,321,150,384],"class_list":["post-1642","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-enterprise-java","tag-akka","tag-apache-maven","tag-apache-tiles","tag-jquery","tag-spring","tag-spring-data","tag-spring-mvc","tag-twitter"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Maven Web Project Kickstarter Codebase with Spring, Hibernate, Akka, Twitter Bootstrap, Apache Tiles and jQuery - Java Code Geeks<\/title>\n<meta name=\"description\" content=\"I am happy to upload my second project to GitHub to help people get started with Java Web App Development as quickly as possible. I am sharing this code\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.javacodegeeks.com\/2012\/08\/maven-web-project-kickstarter-codebase.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Maven Web Project Kickstarter Codebase with Spring, Hibernate, Akka, Twitter Bootstrap, Apache Tiles and jQuery - Java Code Geeks\" \/>\n<meta property=\"og:description\" content=\"I am happy to upload my second project to GitHub to help people get started with Java Web App Development as quickly as possible. I am sharing this code\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.javacodegeeks.com\/2012\/08\/maven-web-project-kickstarter-codebase.html\" \/>\n<meta property=\"og:site_name\" content=\"Java Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/javacodegeeks\" \/>\n<meta property=\"article:author\" content=\"http:\/\/facebook.com\/ykameshrao\" \/>\n<meta property=\"article:published_time\" content=\"2012-08-23T10:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2012-10-22T06:22:30+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/akka-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Kamesh Rao\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/ykameshrao\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kamesh Rao\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/08\\\/maven-web-project-kickstarter-codebase.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/08\\\/maven-web-project-kickstarter-codebase.html\"},\"author\":{\"name\":\"Kamesh Rao\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/cf4d460f5c4c1ad30ddbd3837df9efc0\"},\"headline\":\"Maven Web Project Kickstarter Codebase with Spring, Hibernate, Akka, Twitter Bootstrap, Apache Tiles and jQuery\",\"datePublished\":\"2012-08-23T10:00:00+00:00\",\"dateModified\":\"2012-10-22T06:22:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/08\\\/maven-web-project-kickstarter-codebase.html\"},\"wordCount\":610,\"commentCount\":4,\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/08\\\/maven-web-project-kickstarter-codebase.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/akka-logo.jpg\",\"keywords\":[\"Akka\",\"Apache Maven\",\"Apache Tiles\",\"jQuery\",\"Spring\",\"Spring Data\",\"Spring MVC\",\"Twitter\"],\"articleSection\":[\"Enterprise Java\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/08\\\/maven-web-project-kickstarter-codebase.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/08\\\/maven-web-project-kickstarter-codebase.html\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/08\\\/maven-web-project-kickstarter-codebase.html\",\"name\":\"Maven Web Project Kickstarter Codebase with Spring, Hibernate, Akka, Twitter Bootstrap, Apache Tiles and jQuery - Java Code Geeks\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/08\\\/maven-web-project-kickstarter-codebase.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/08\\\/maven-web-project-kickstarter-codebase.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/akka-logo.jpg\",\"datePublished\":\"2012-08-23T10:00:00+00:00\",\"dateModified\":\"2012-10-22T06:22:30+00:00\",\"description\":\"I am happy to upload my second project to GitHub to help people get started with Java Web App Development as quickly as possible. I am sharing this code\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/08\\\/maven-web-project-kickstarter-codebase.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/08\\\/maven-web-project-kickstarter-codebase.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/08\\\/maven-web-project-kickstarter-codebase.html#primaryimage\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/akka-logo.jpg\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/akka-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/08\\\/maven-web-project-kickstarter-codebase.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Enterprise Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\\\/enterprise-java\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Maven Web Project Kickstarter Codebase with Spring, Hibernate, Akka, Twitter Bootstrap, Apache Tiles and jQuery\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"name\":\"Java Code Geeks\",\"description\":\"Java Developers Resource Center\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"alternateName\":\"JCG\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.javacodegeeks.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/javacodegeeks\",\"https:\\\/\\\/x.com\\\/javacodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/cf4d460f5c4c1ad30ddbd3837df9efc0\",\"name\":\"Kamesh Rao\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a850072678a95692f59d8549d37510d3538be5e21468de7cf46e668db40d4f97?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a850072678a95692f59d8549d37510d3538be5e21468de7cf46e668db40d4f97?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a850072678a95692f59d8549d37510d3538be5e21468de7cf46e668db40d4f97?s=96&d=mm&r=g\",\"caption\":\"Kamesh Rao\"},\"description\":\"Kamesh is a Software Development Engineer at Amazon.com working in Advertising and Payments domain. He has extensive experience in web and mobile platform and applications development with hands on experience in Java, C++, Ruby, Scala, Objective-C among others.\",\"sameAs\":[\"http:\\\/\\\/www.orangeapple.org\\\/\",\"http:\\\/\\\/facebook.com\\\/ykameshrao\",\"http:\\\/\\\/www.linkedin.com\\\/in\\\/ykameshrao\",\"https:\\\/\\\/x.com\\\/https:\\\/\\\/twitter.com\\\/ykameshrao\"],\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/author\\\/Kamesh-Rao\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Maven Web Project Kickstarter Codebase with Spring, Hibernate, Akka, Twitter Bootstrap, Apache Tiles and jQuery - Java Code Geeks","description":"I am happy to upload my second project to GitHub to help people get started with Java Web App Development as quickly as possible. I am sharing this code","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.javacodegeeks.com\/2012\/08\/maven-web-project-kickstarter-codebase.html","og_locale":"en_US","og_type":"article","og_title":"Maven Web Project Kickstarter Codebase with Spring, Hibernate, Akka, Twitter Bootstrap, Apache Tiles and jQuery - Java Code Geeks","og_description":"I am happy to upload my second project to GitHub to help people get started with Java Web App Development as quickly as possible. I am sharing this code","og_url":"https:\/\/www.javacodegeeks.com\/2012\/08\/maven-web-project-kickstarter-codebase.html","og_site_name":"Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_author":"http:\/\/facebook.com\/ykameshrao","article_published_time":"2012-08-23T10:00:00+00:00","article_modified_time":"2012-10-22T06:22:30+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/akka-logo.jpg","type":"image\/jpeg"}],"author":"Kamesh Rao","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/ykameshrao","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Kamesh Rao","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.javacodegeeks.com\/2012\/08\/maven-web-project-kickstarter-codebase.html#article","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/2012\/08\/maven-web-project-kickstarter-codebase.html"},"author":{"name":"Kamesh Rao","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/cf4d460f5c4c1ad30ddbd3837df9efc0"},"headline":"Maven Web Project Kickstarter Codebase with Spring, Hibernate, Akka, Twitter Bootstrap, Apache Tiles and jQuery","datePublished":"2012-08-23T10:00:00+00:00","dateModified":"2012-10-22T06:22:30+00:00","mainEntityOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2012\/08\/maven-web-project-kickstarter-codebase.html"},"wordCount":610,"commentCount":4,"publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2012\/08\/maven-web-project-kickstarter-codebase.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/akka-logo.jpg","keywords":["Akka","Apache Maven","Apache Tiles","jQuery","Spring","Spring Data","Spring MVC","Twitter"],"articleSection":["Enterprise Java"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.javacodegeeks.com\/2012\/08\/maven-web-project-kickstarter-codebase.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.javacodegeeks.com\/2012\/08\/maven-web-project-kickstarter-codebase.html","url":"https:\/\/www.javacodegeeks.com\/2012\/08\/maven-web-project-kickstarter-codebase.html","name":"Maven Web Project Kickstarter Codebase with Spring, Hibernate, Akka, Twitter Bootstrap, Apache Tiles and jQuery - Java Code Geeks","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2012\/08\/maven-web-project-kickstarter-codebase.html#primaryimage"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2012\/08\/maven-web-project-kickstarter-codebase.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/akka-logo.jpg","datePublished":"2012-08-23T10:00:00+00:00","dateModified":"2012-10-22T06:22:30+00:00","description":"I am happy to upload my second project to GitHub to help people get started with Java Web App Development as quickly as possible. I am sharing this code","breadcrumb":{"@id":"https:\/\/www.javacodegeeks.com\/2012\/08\/maven-web-project-kickstarter-codebase.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.javacodegeeks.com\/2012\/08\/maven-web-project-kickstarter-codebase.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/2012\/08\/maven-web-project-kickstarter-codebase.html#primaryimage","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/akka-logo.jpg","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/akka-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/www.javacodegeeks.com\/2012\/08\/maven-web-project-kickstarter-codebase.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.javacodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Java","item":"https:\/\/www.javacodegeeks.com\/category\/java"},{"@type":"ListItem","position":3,"name":"Enterprise Java","item":"https:\/\/www.javacodegeeks.com\/category\/java\/enterprise-java"},{"@type":"ListItem","position":4,"name":"Maven Web Project Kickstarter Codebase with Spring, Hibernate, Akka, Twitter Bootstrap, Apache Tiles and jQuery"}]},{"@type":"WebSite","@id":"https:\/\/www.javacodegeeks.com\/#website","url":"https:\/\/www.javacodegeeks.com\/","name":"Java Code Geeks","description":"Java Developers Resource Center","publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"alternateName":"JCG","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.javacodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.javacodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.javacodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/javacodegeeks","https:\/\/x.com\/javacodegeeks"]},{"@type":"Person","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/cf4d460f5c4c1ad30ddbd3837df9efc0","name":"Kamesh Rao","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/a850072678a95692f59d8549d37510d3538be5e21468de7cf46e668db40d4f97?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a850072678a95692f59d8549d37510d3538be5e21468de7cf46e668db40d4f97?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a850072678a95692f59d8549d37510d3538be5e21468de7cf46e668db40d4f97?s=96&d=mm&r=g","caption":"Kamesh Rao"},"description":"Kamesh is a Software Development Engineer at Amazon.com working in Advertising and Payments domain. He has extensive experience in web and mobile platform and applications development with hands on experience in Java, C++, Ruby, Scala, Objective-C among others.","sameAs":["http:\/\/www.orangeapple.org\/","http:\/\/facebook.com\/ykameshrao","http:\/\/www.linkedin.com\/in\/ykameshrao","https:\/\/x.com\/https:\/\/twitter.com\/ykameshrao"],"url":"https:\/\/www.javacodegeeks.com\/author\/Kamesh-Rao"}]}},"_links":{"self":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/1642","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/users\/273"}],"replies":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=1642"}],"version-history":[{"count":0,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/1642\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media\/43"}],"wp:attachment":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=1642"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=1642"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=1642"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}