Spring Framework

Spring CRUD Example using One to One Mapping of Two Tables

<div dir&equals;"ltr" style&equals;"text-align&colon; justify&semi;" trbidi&equals;"on">In this example show how to write a simple web based application with CRUD operation using <b>Spring3 MVC Framework with Hibernate3 using Annotation handling two database tables<&sol;b>&lpar;<b>Category &amp&semi; Publication&rpar;<&sol;b>&comma; which can handle CRUD inside its controllers&period; To start with it&comma; let us have working STS IDE in place and follow the following steps to develop a Dynamic Form based Web Application using <b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-web-mvc-framework-chapter-38&sol;" target&equals;"&lowbar;blank">Spring Web Framework<&sol;a>&colon;<&sol;b><&sol;p>&NewLine;<div style&equals;"background-color&colon; &num;f2f9fc&semi; border&colon;1px solid &num;c9e6f2&semi;border-radius&colon;3px&semi;padding&colon;16px&semi;line-height&colon;1&period;45&semi;">&NewLine;<span style&equals;"color&colon; red&semi;font-size&colon; x-large&semi;text-align&colon; center&semi;"><b>Popular Tutorials<&sol;b><&sol;span><&sol;p>&NewLine;<ul style&equals;"text-align&colon; left&semi;">&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-tutorial&sol;"><em><strong>Spring Tutorial<&sol;strong> <&sol;em><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-web-mvc-framework-chapter-38&sol;"><strong><em>Spring MVC Web Tutorial <&sol;em><&sol;strong><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;introduction-to-spring-boot-a-spring-boot-complete-guide&sol;"><strong>Spring Boot Tutorial<&sol;strong> <&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-security-take-baby-step-to-secure&sol;"><em>Spring Security Tutorial<&sol;em><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-aop-tutorial-with-example-aspect-advice-pointcut-joinpoint&sol;"><em>Spring AOP Tutorial<&sol;em><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;using-spring-jdbc-framework-chapter-32&sol;"><em>Spring JDBC Tutorial<&sol;em><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-hateoas-hypermedia-driven-restful-web-service&sol;"><em><strong>Spring HATEOAS <&sol;strong><&sol;em><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;microservices-with-spring-boot&sol;"><em><strong>Microservices with Spring Boot<&sol;strong><&sol;em><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;jax-rs-web-service-tutorial&sol;"><strong><em>REST Webservice<&sol;em> <&sol;strong><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;core-java-baby-step-to-be-best-java-ian&sol;"><em><strong>Core Java <&sol;strong><&sol;em><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;hibernate-3-on-baby-steps&sol;"><em><strong>Hibernate Tutorial<&sol;strong><&sol;em><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-batch-process-with-example&sol;"><strong><em>Spring Batch<&sol;em> <&sol;strong><&sol;a><&sol;b><&sol;li>&NewLine;<&sol;ul>&NewLine;<&sol;div>&NewLine;<p> <i><b>Step 1&colon;<&sol;b><&sol;i> Create a Database DAVDB on MySql Database and also we create <i><b>Category <&sol;b><&sol;i>and <i><b>Publication <&sol;b><&sol;i>tables on this database&period;<&sol;p>&NewLine;<p><b><i>Category <&sol;i>Table<&sol;b><&sol;p>&NewLine;<pre class&equals;"highlight" name&equals;"code">CREATE TABLE &grave;category&grave; &lpar; &NewLine; &grave;categoryId&grave; int&lpar;11&rpar; NOT NULL AUTO&lowbar;INCREMENT&comma; &NewLine; &grave;categoryName&grave; varchar&lpar;255&rpar; DEFAULT NULL&comma; &NewLine; PRIMARY KEY &lpar;&grave;categoryId&grave;&rpar; &NewLine;&rpar; &NewLine;<&sol;pre>&NewLine;<p>&NewLine;<b><i>Publication <&sol;i>Table<&sol;b><&sol;p>&NewLine;<pre class&equals;"highlight" name&equals;"code">CREATE TABLE &grave;publication&grave; &lpar; &NewLine; &grave;pubId&grave; int&lpar;11&rpar; NOT NULL AUTO&lowbar;INCREMENT&comma; &NewLine; &grave;content&grave; varchar&lpar;255&rpar; DEFAULT NULL&comma; &NewLine; &grave;Title&grave; varchar&lpar;255&rpar; DEFAULT NULL&comma; &NewLine; &grave;categoryId&grave; int&lpar;11&rpar; DEFAULT NULL&comma; &NewLine; PRIMARY KEY &lpar;&grave;pubId&grave;&rpar;&comma; &NewLine; KEY &grave;FK23254A0CAF274936&grave; &lpar;&grave;categoryId&grave;&rpar;&comma; &NewLine; CONSTRAINT &grave;FK23254A0CAF274936&grave; FOREIGN KEY &lpar;&grave;categoryId&grave;&rpar; REFERENCES &grave;category&grave; &lpar;&grave;categoryId&grave;&rpar; &NewLine;&rpar; &NewLine;<&sol;pre>&NewLine;<p>&NewLine;<b>Step 2&colon; <&sol;b>Create a <i><b>database&period;properties<&sol;b><&sol;i> for database configuration information in the resources folder under <i><b>src <&sol;b><&sol;i>folder in the created project&period;<&sol;p>&NewLine;<pre class&equals;"highlight" name&equals;"code">database&period;driver&equals;com&period;mysql&period;jdbc&period;Driver &NewLine; database&period;url&equals;jdbc&colon;mysql&colon;&sol;&sol;localhost&colon;3306&sol;DAVDB &NewLine; database&period;user&equals;root &NewLine; database&period;password&equals;root &NewLine; hibernate&period;dialect&equals;org&period;hibernate&period;dialect&period;MySQLDialect &NewLine; hibernate&period;show&lowbar;sql&equals;true &NewLine; hibernate&period;hbm2ddl&period;auto&equals;create &NewLine;<&sol;pre>&NewLine;<p>&NewLine;<i><b>Step 3&colon;<&sol;b><&sol;i> Create a Dynamic Web Project with a name <b>elhumeante <&sol;b>and create packages <i><b>com&period;dineshonjava&period;controller<&sol;b><&sol;i>&comma;<i> <b>com&period;dineshonjava&period;bean<&sol;b>&comma; <b>com&period;dineshonjava&period;dao<&sol;b>&comma; <b>com&period;dineshonjava&period;service<&sol;b>&comma; <b>com&period;dineshonjava&period;model<&sol;b><&sol;i> under the <i><b>src <&sol;b><&sol;i>folder in the created project&period;<&sol;p>&NewLine;<p><i><b>Step 4&colon;<&sol;b><&sol;i> Add below mentioned <i><b>Spring 3&period;0 and Hibernate 3&period;0 related libraries and other libraries<&sol;b><&sol;i> into the folder <i><b>WebRoot&sol;WEB-INF&sol;lib<&sol;b><&sol;i>&period; <br &sol;>&NewLine;<img src&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;wp-content&sol;uploads&sol;2013&sol;05&sol;mvclibs&period;jpg" alt&equals;"Spring CRUD Example using One to One Mapping of Two Tables"&sol;><&sol;p>&NewLine;<p><i><b>Step 5&colon;<&sol;b> <&sol;i>Create a Java class <i><b>CategoryController&comma; Publication<&sol;b><&sol;i><i><b>Controller&comma; CategoryBean&comma; PublicationBean&comma; CategoryDao&comma; CategoryDaoImpl&comma; PublicationDao&comma; PublicationDaoImpl&comma; CategoryService&comma; CategoryServiceImpl&comma;&nbsp&semi;PublicationService&comma; <&sol;b><&sol;i><i><b>PublicationServiceImpl <&sol;b><&sol;i>under the respective packages&period;&period;<&sol;p>&NewLine;<p> <i><b>Step 6&colon;<&sol;b><&sol;i> Create Spring configuration files <b><i>web&period;xml<&sol;i><&sol;b> and <i><b>sdnext-servlet&period;xml<&sol;b><&sol;i> under the<b><i> WebRoot&sol;WEB-INF&sol; <&sol;i><&sol;b>and <b><i>WebRoot&sol;WEB-INF&sol;config<&sol;i><&sol;b> folders&period;<&sol;p>&NewLine;<p> <i><b>Step 7&colon; <&sol;b><&sol;i>Create a sub-folder with a name views under the <b><i>WebRoot&sol;WEB-INF<&sol;i><&sol;b> folder&period; Create a view file <i><b>addCategory&period;jsp<&sol;b><&sol;i> and <b><i>addPublication&period;jsp<&sol;i><&sol;b> under this sub-folder&period;<&sol;p>&NewLine;<p> <b><i>Step 8&colon;<&sol;i> <&sol;b>The final step is to create the content of all the source and configuration files name <i><b>sdnext-servlet&period;xml<&sol;b><&sol;i> under the sub-folder<i><b> &sol;WebRoot&sol;WEB-INF&sol;config <&sol;b><&sol;i>and export the application as explained below&period;<&sol;p>&NewLine;<div class&equals;"separator" style&equals;"clear&colon; both&semi; text-align&colon; center&semi;"><img border&equals;"0" src&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;wp-content&sol;uploads&sol;2013&sol;05&sol;category&period;png"&sol;><&sol;div>&NewLine;<p><&sol;p>&NewLine;<h2><i>Application Architecture<&sol;i><&sol;h2>&NewLine;<p>We will have a layered architecture for our demo application&period; The database will be accessed by a <b>Data Access layer<&sol;b> popularly called as <b>DAO Layer&lpar;<i>CategoryDao<&sol;i>&comma; <i>PublicationDao<&sol;i>&rpar;<&sol;b>&period; This layer will use Hibernate API to interact with database&period; The DAO layer will be invoked by a service layer&period; In our application we will have a <b>Service interface<&sol;b> called <b><i>CategoryService&comma; PublicationService<&sol;i><&sol;b>&period;<&sol;p>&NewLine;<div class&equals;"separator" style&equals;"clear&colon; both&semi; text-align&colon; center&semi;"><img border&equals;"0" src&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;wp-content&sol;uploads&sol;2013&sol;05&sol;directory&period;png"&sol;><&sol;div>&NewLine;<p>&NewLine;<i><b>CategoryBean&period;java<&sol;b><&sol;i><&sol;p>&NewLine;<pre class&equals;"highlight" name&equals;"code">package com&period;dineshonjava&period;bean&semi; &NewLine; &NewLine;import javax&period;persistence&period;Column&semi; &NewLine;import javax&period;persistence&period;Entity&semi; &NewLine;import javax&period;persistence&period;GeneratedValue&semi; &NewLine;import javax&period;persistence&period;GenerationType&semi; &NewLine;import javax&period;persistence&period;Id&semi; &NewLine;import javax&period;persistence&period;Table&semi; &NewLine; &NewLine;&commat;Entity &NewLine;&commat;Table&lpar;name&equals;"Category"&rpar; &NewLine;public class CategoryBean &lbrace; &NewLine; &NewLine; &commat;Id &NewLine; &commat;Column&lpar;name&equals;"categoryId"&rpar; &NewLine; &commat;GeneratedValue&lpar;strategy&equals;GenerationType&period;AUTO&rpar; &NewLine; private Integer categoryId&semi; &NewLine; &NewLine; &commat;Column&lpar;name&equals;"categoryName"&rpar; &NewLine; private String categoryName&semi; &NewLine; &NewLine; public Integer getCategoryId&lpar;&rpar; &lbrace; &NewLine; return categoryId&semi; &NewLine; &rcub; &NewLine; &NewLine; public void setCategoryId&lpar;Integer categoryId&rpar; &lbrace; &NewLine; this&period;categoryId &equals; categoryId&semi; &NewLine; &rcub; &NewLine; &NewLine; public String getCategoryName&lpar;&rpar; &lbrace; &NewLine; return categoryName&semi; &NewLine; &rcub; &NewLine; &NewLine; public void setCategoryName&lpar;String categoryName&rpar; &lbrace; &NewLine; this&period;categoryName &equals; categoryName&semi; &NewLine; &rcub; &NewLine;&rcub; &NewLine; &NewLine;<&sol;pre>&NewLine;<p><b><br &sol;>&NewLine;<i>PublicationBean&period;java<&sol;i><&sol;b><&sol;p>&NewLine;<pre class&equals;"highlight" name&equals;"code">package com&period;dineshonjava&period;bean&semi; &NewLine; &NewLine;import java&period;io&period;Serializable&semi; &NewLine; &NewLine;import javax&period;persistence&period;Column&semi; &NewLine;import javax&period;persistence&period;Entity&semi; &NewLine;import javax&period;persistence&period;GeneratedValue&semi; &NewLine;import javax&period;persistence&period;GenerationType&semi; &NewLine;import javax&period;persistence&period;Id&semi; &NewLine;import javax&period;persistence&period;JoinColumn&semi; &NewLine;import javax&period;persistence&period;OneToOne&semi; &NewLine;import javax&period;persistence&period;Table&semi; &NewLine; &NewLine;&commat;Entity &NewLine;&commat;Table&lpar;name&equals;"Publication"&rpar; &NewLine;public class PublicationBean implements Serializable&lbrace; &NewLine; &NewLine; private static final long serialVersionUID &equals; 1L&semi; &NewLine; &NewLine; &commat;Id &NewLine; &commat;GeneratedValue&lpar;strategy&equals;GenerationType&period;AUTO&rpar; &NewLine; &commat;Column&lpar;name &equals; "pubId"&rpar; &NewLine; private Integer pubId&semi; &NewLine; &NewLine; &commat;Column&lpar;name&equals;"Title"&rpar; &NewLine; private String pubTitle&semi; &NewLine; &NewLine; &commat;OneToOne &NewLine; &commat;JoinColumn&lpar;name&equals;"categoryId"&rpar; &NewLine; private CategoryBean category&semi; &NewLine; &NewLine; &commat;Column&lpar;name&equals;"content"&rpar; &NewLine; private String pubContent&semi; &NewLine; &NewLine; public Integer getPubId&lpar;&rpar; &lbrace; &NewLine; return pubId&semi; &NewLine; &rcub; &NewLine; public void setPubId&lpar;Integer pubId&rpar; &lbrace; &NewLine; this&period;pubId &equals; pubId&semi; &NewLine; &rcub; &NewLine; public String getPubTitle&lpar;&rpar; &lbrace; &NewLine; return pubTitle&semi; &NewLine; &rcub; &NewLine; public void setPubTitle&lpar;String pubTitle&rpar; &lbrace; &NewLine; this&period;pubTitle &equals; pubTitle&semi; &NewLine; &rcub; &NewLine; public String getPubContent&lpar;&rpar; &lbrace; &NewLine; return pubContent&semi; &NewLine; &rcub; &NewLine; public CategoryBean getCategory&lpar;&rpar; &lbrace; &NewLine; return category&semi; &NewLine; &rcub; &NewLine; public void setCategory&lpar;CategoryBean category&rpar; &lbrace; &NewLine; this&period;category &equals; category&semi; &NewLine; &rcub; &NewLine; public void setPubContent&lpar;String pubContent&rpar; &lbrace; &NewLine; this&period;pubContent &equals; pubContent&semi; &NewLine; &rcub; &NewLine;&rcub; &NewLine; &NewLine;<&sol;pre>&NewLine;<p>&NewLine;<i><b>CategoryDao&period;java<&sol;b><&sol;i><&sol;p>&NewLine;<pre class&equals;"highlight" name&equals;"code">package com&period;dineshonjava&period;dao&semi; &NewLine; &NewLine;import java&period;util&period;List&semi; &NewLine; &NewLine;import com&period;dineshonjava&period;bean&period;CategoryBean&semi; &NewLine; &NewLine;public interface CategoryDao &lbrace; &NewLine; &NewLine; public void addCategory&lpar;CategoryBean categoryBean&rpar;&semi; &NewLine; &NewLine; public List&lt&semi;CategoryBean&gt&semi; getCategories&lpar;&rpar;&semi; &NewLine; &NewLine; public CategoryBean getCategory&lpar;int categoryId&rpar;&semi; &NewLine; &NewLine; public void deleteCategory&lpar;int categoryId&rpar;&semi; &NewLine;&rcub; &NewLine;<&sol;pre>&NewLine;<p>&NewLine;<i><b>PublicationDao&period;java<&sol;b><&sol;i><&sol;p>&NewLine;<pre class&equals;"highlight" name&equals;"code">package com&period;dineshonjava&period;dao&semi; &NewLine; &NewLine;import java&period;util&period;List&semi; &NewLine; &NewLine;import com&period;dineshonjava&period;bean&period;PublicationBean&semi; &NewLine; &NewLine;public interface PublicationDao &lbrace; &NewLine; &NewLine; public void addPublication&lpar;PublicationBean publicationBean&rpar;&semi; &NewLine; &NewLine; public List&lt&semi;PublicationBean&gt&semi; getPublications&lpar;&rpar;&semi; &NewLine; &NewLine; public PublicationBean getPublication&lpar;int pubId&rpar;&semi; &NewLine; &NewLine; public void deletePublication&lpar;int pubId&rpar;&semi; &NewLine;&rcub; &NewLine; &NewLine;<&sol;pre>&NewLine;<p>&NewLine;<i><b>CategoryDaoImpl&period;java<&sol;b><&sol;i><&sol;p>&NewLine;<pre class&equals;"highlight" name&equals;"code">package com&period;dineshonjava&period;dao&semi; &NewLine; &NewLine;import java&period;util&period;List&semi; &NewLine; &NewLine;import org&period;hibernate&period;SessionFactory&semi; &NewLine;import org&period;springframework&period;beans&period;factory&period;annotation&period;Autowired&semi; &NewLine;import org&period;springframework&period;stereotype&period;Repository&semi; &NewLine; &NewLine;import com&period;dineshonjava&period;bean&period;CategoryBean&semi; &NewLine; &NewLine;&sol;&ast;&ast; &NewLine; &ast; &commat;author Dinesh Rajput &NewLine; &ast; &NewLine; &ast;&sol; &NewLine; &NewLine;&commat;Repository&lpar;"categoryDao"&rpar; &NewLine;public class CategoryDaoImpl implements CategoryDao &lbrace; &NewLine; &NewLine; &commat;Autowired &NewLine; private SessionFactory sessionFactory&semi; &NewLine; &NewLine; &commat;Override &NewLine; public void addCategory&lpar;CategoryBean categoryBean&rpar; &lbrace; &NewLine; sessionFactory&period;getCurrentSession&lpar;&rpar;&period;saveOrUpdate&lpar;categoryBean&rpar;&semi; &NewLine; &rcub; &NewLine; &NewLine; &commat;SuppressWarnings&lpar;"unchecked"&rpar; &NewLine; &commat;Override &NewLine; public List&lt&semi;CategoryBean&gt&semi; getCategories&lpar;&rpar; &lbrace; &NewLine; return &lpar;List&lt&semi;CategoryBean&gt&semi;&rpar; sessionFactory&period;getCurrentSession&lpar;&rpar;&period;createCriteria&lpar;CategoryBean&period;class&rpar;&period;list&lpar;&rpar;&semi; &NewLine; &rcub; &NewLine; &NewLine; &commat;Override &NewLine; public CategoryBean getCategory&lpar;int categoryId&rpar; &lbrace; &NewLine; return &lpar;CategoryBean&rpar; sessionFactory&period;getCurrentSession&lpar;&rpar;&period;get&lpar;CategoryBean&period;class&comma; categoryId&rpar;&semi; &NewLine; &rcub; &NewLine; &NewLine; &commat;Override &NewLine; public void deleteCategory&lpar;int categoryId&rpar; &lbrace; &NewLine; sessionFactory&period;getCurrentSession&lpar;&rpar;&period;createQuery&lpar;"DELETE FROM category WHERE categoryId &equals; "&plus;categoryId&rpar;&period;executeUpdate&lpar;&rpar;&semi; &NewLine; &rcub; &NewLine; &NewLine;&rcub; &NewLine; &NewLine;<&sol;pre>&NewLine;<p>&NewLine;<i><b>PublicationDaoImpl&period;java<&sol;b><&sol;i><&sol;p>&NewLine;<pre class&equals;"highlight" name&equals;"code">package com&period;dineshonjava&period;dao&semi; &NewLine; &NewLine;import java&period;util&period;List&semi; &NewLine; &NewLine;import org&period;hibernate&period;SessionFactory&semi; &NewLine;import org&period;springframework&period;beans&period;factory&period;annotation&period;Autowired&semi; &NewLine;import org&period;springframework&period;stereotype&period;Repository&semi; &NewLine; &NewLine;import com&period;dineshonjava&period;bean&period;PublicationBean&semi; &NewLine; &NewLine;&sol;&ast;&ast; &NewLine; &ast; &commat;author Dinesh Rajput &NewLine; &ast; &NewLine; &ast;&sol; &NewLine; &NewLine;&commat;Repository&lpar;"publicationDao"&rpar; &NewLine;public class PublicationDaoImpl implements PublicationDao &lbrace; &NewLine; &NewLine; &commat;Autowired &NewLine; private SessionFactory sessionFactory&semi; &NewLine; &NewLine; public void addPublication&lpar;PublicationBean publicationBean&rpar; &lbrace; &NewLine; sessionFactory&period;getCurrentSession&lpar;&rpar;&period;saveOrUpdate&lpar;publicationBean&rpar;&semi; &NewLine; &rcub; &NewLine; &NewLine; &commat;SuppressWarnings&lpar;"unchecked"&rpar; &NewLine; &commat;Override &NewLine; public List&lt&semi;PublicationBean&gt&semi; getPublications&lpar;&rpar; &lbrace; &NewLine; return &lpar;List&lt&semi;PublicationBean&gt&semi;&rpar; sessionFactory&period;getCurrentSession&lpar;&rpar;&period;createCriteria&lpar;PublicationBean&period;class&rpar;&period;list&lpar;&rpar;&semi; &NewLine; &rcub; &NewLine; &NewLine; &commat;Override &NewLine; public PublicationBean getPublication&lpar;int pubId&rpar; &lbrace; &NewLine; return &lpar;PublicationBean&rpar; sessionFactory&period;getCurrentSession&lpar;&rpar;&period;get&lpar;PublicationBean&period;class&comma; pubId&rpar;&semi; &NewLine; &rcub; &NewLine; &NewLine; &commat;Override &NewLine; public void deletePublication&lpar;int pubId&rpar; &lbrace; &NewLine; sessionFactory&period;getCurrentSession&lpar;&rpar;&period;createQuery&lpar;"DELETE FROM Publication WHERE pubId &equals; "&plus;pubId&rpar;&period;executeUpdate&lpar;&rpar;&semi; &NewLine; &rcub; &NewLine; &NewLine;&rcub; &NewLine; &NewLine;<&sol;pre>&NewLine;<p>&NewLine;<i><b>CategoryService&period;java<&sol;b><&sol;i><&sol;p>&NewLine;<pre class&equals;"highlight" name&equals;"code">package com&period;dineshonjava&period;service&semi; &NewLine; &NewLine;import java&period;util&period;List&semi; &NewLine; &NewLine;import com&period;dineshonjava&period;bean&period;CategoryBean&semi; &NewLine; &NewLine;public interface CategoryService &lbrace; &NewLine; &NewLine; public void addCategory&lpar;CategoryBean categoryBean&rpar;&semi; &NewLine; &NewLine; public List&lt&semi;CategoryBean&gt&semi; getCategories&lpar;&rpar;&semi; &NewLine; &NewLine; public CategoryBean getCategory&lpar;int categoryId&rpar;&semi; &NewLine; &NewLine; public void deleteCategory&lpar;int categoryId&rpar;&semi; &NewLine; &NewLine;&rcub; &NewLine; &NewLine;<&sol;pre>&NewLine;<p><i><b>CategoryServiceImpl&period;java<&sol;b><&sol;i><&sol;p>&NewLine;<pre class&equals;"highlight" name&equals;"code">package com&period;dineshonjava&period;service&semi; &NewLine; &NewLine;import java&period;util&period;List&semi; &NewLine; &NewLine;import org&period;springframework&period;beans&period;factory&period;annotation&period;Autowired&semi; &NewLine;import org&period;springframework&period;stereotype&period;Service&semi; &NewLine;import org&period;springframework&period;transaction&period;annotation&period;Propagation&semi; &NewLine;import org&period;springframework&period;transaction&period;annotation&period;Transactional&semi; &NewLine; &NewLine;import com&period;dineshonjava&period;bean&period;CategoryBean&semi; &NewLine;import com&period;dineshonjava&period;dao&period;CategoryDao&semi; &NewLine; &NewLine;&sol;&ast;&ast; &NewLine; &ast; &commat;author Dinesh Rajput &NewLine; &ast; &NewLine; &ast;&sol; &NewLine; &NewLine;&commat;Service&lpar;"categoryService"&rpar; &NewLine;&commat;Transactional&lpar;propagation &equals; Propagation&period;SUPPORTS&comma; readOnly &equals; true&rpar; &NewLine;public class CategoryServiceImpl implements CategoryService &lbrace; &NewLine; &NewLine; &commat;Autowired &NewLine; private CategoryDao categoryDao&semi; &NewLine; &NewLine; &commat;Transactional&lpar;propagation &equals; Propagation&period;REQUIRED&comma; readOnly &equals; false&rpar; &NewLine; public void addCategory&lpar;CategoryBean categoryBean&rpar; &lbrace; &NewLine; categoryDao&period;addCategory&lpar;categoryBean&rpar;&semi; &NewLine; &rcub; &NewLine; &NewLine; &commat;Override &NewLine; public List&lt&semi;CategoryBean&gt&semi; getCategories&lpar;&rpar; &lbrace; &NewLine; return categoryDao&period;getCategories&lpar;&rpar;&semi; &NewLine; &rcub; &NewLine; &NewLine; &commat;Override &NewLine; public CategoryBean getCategory&lpar;int categoryId&rpar; &lbrace; &NewLine; return categoryDao&period;getCategory&lpar;categoryId&rpar;&semi; &NewLine; &rcub; &NewLine; &NewLine; &commat;Override &NewLine; public void deleteCategory&lpar;int categoryId&rpar; &lbrace; &NewLine; categoryDao&period;deleteCategory&lpar;categoryId&rpar;&semi; &NewLine; &rcub; &NewLine; &NewLine;&rcub; &NewLine; &NewLine;<&sol;pre>&NewLine;<p><i><b>PublicationService&period;java<&sol;b><&sol;i><&sol;p>&NewLine;<pre class&equals;"highlight" name&equals;"code">package com&period;dineshonjava&period;service&semi; &NewLine; &NewLine;import java&period;util&period;List&semi; &NewLine; &NewLine;import com&period;dineshonjava&period;bean&period;PublicationBean&semi; &NewLine; &NewLine;public interface PublicationService &lbrace; &NewLine; &NewLine; public void addPublication&lpar;PublicationBean publicationBean&rpar;&semi; &NewLine; &NewLine; public List&lt&semi;PublicationBean&gt&semi; getPublications&lpar;&rpar;&semi; &NewLine; &NewLine; public PublicationBean getPublication&lpar;int pubId&rpar;&semi; &NewLine; &NewLine; public void deletePublication&lpar;int pubId&rpar;&semi; &NewLine;&rcub; &NewLine; &NewLine;<&sol;pre>&NewLine;<p><i><b>PublicationServiceImpl&period;java<&sol;b><&sol;i><&sol;p>&NewLine;<pre class&equals;"highlight" name&equals;"code">package com&period;dineshonjava&period;service&semi; &NewLine; &NewLine;import java&period;util&period;List&semi; &NewLine; &NewLine;import org&period;springframework&period;beans&period;factory&period;annotation&period;Autowired&semi; &NewLine;import org&period;springframework&period;stereotype&period;Service&semi; &NewLine;import org&period;springframework&period;transaction&period;annotation&period;Propagation&semi; &NewLine;import org&period;springframework&period;transaction&period;annotation&period;Transactional&semi; &NewLine; &NewLine;import com&period;dineshonjava&period;bean&period;PublicationBean&semi; &NewLine;import com&period;dineshonjava&period;dao&period;PublicationDao&semi; &NewLine; &NewLine;&sol;&ast;&ast; &NewLine; &ast; &commat;author Dinesh Rajput &NewLine; &ast; &NewLine; &ast;&sol; &NewLine;&commat;Service&lpar;"publicationService"&rpar; &NewLine;&commat;Transactional&lpar;propagation &equals; Propagation&period;SUPPORTS&comma; readOnly &equals; true&rpar; &NewLine;public class PublicationServiceImpl implements PublicationService &lbrace; &NewLine; &NewLine; &commat;Autowired &NewLine; private PublicationDao publicationDao&semi; &NewLine; &NewLine; &commat;Transactional&lpar;propagation &equals; Propagation&period;REQUIRED&comma; readOnly &equals; false&rpar; &NewLine; public void addPublication&lpar;PublicationBean publicationBean&rpar; &lbrace; &NewLine; publicationDao&period;addPublication&lpar;publicationBean&rpar;&semi; &NewLine; &rcub; &NewLine; &NewLine; public List&lt&semi;PublicationBean&gt&semi; getPublications&lpar;&rpar; &lbrace; &NewLine; return publicationDao&period;getPublications&lpar;&rpar;&semi; &NewLine; &rcub; &NewLine; &NewLine; &commat;Override &NewLine; public PublicationBean getPublication&lpar;int pubId&rpar; &lbrace; &NewLine; return publicationDao&period;getPublication&lpar;pubId&rpar;&semi; &NewLine; &rcub; &NewLine; &NewLine; &commat;Override &NewLine; public void deletePublication&lpar;int pubId&rpar; &lbrace; &NewLine; publicationDao&period;deletePublication&lpar;pubId&rpar;&semi; &NewLine; &rcub; &NewLine; &NewLine;&rcub; &NewLine; &NewLine;<&sol;pre>&NewLine;<p>&NewLine;<i><b>CategoryController&period;java<&sol;b><&sol;i><&sol;p>&NewLine;<pre class&equals;"highlight" name&equals;"code">package com&period;dineshonjava&period;controller&semi; &NewLine; &NewLine;import java&period;util&period;HashMap&semi; &NewLine;import java&period;util&period;List&semi; &NewLine;import java&period;util&period;Map&semi; &NewLine; &NewLine;import org&period;springframework&period;beans&period;factory&period;annotation&period;Autowired&semi; &NewLine;import org&period;springframework&period;stereotype&period;Controller&semi; &NewLine;import org&period;springframework&period;validation&period;BindingResult&semi; &NewLine;import org&period;springframework&period;web&period;bind&period;annotation&period;ModelAttribute&semi; &NewLine;import org&period;springframework&period;web&period;bind&period;annotation&period;RequestMapping&semi; &NewLine;import org&period;springframework&period;web&period;bind&period;annotation&period;RequestMethod&semi; &NewLine;import org&period;springframework&period;web&period;servlet&period;ModelAndView&semi; &NewLine; &NewLine;import com&period;dineshonjava&period;bean&period;CategoryBean&semi; &NewLine;import com&period;dineshonjava&period;service&period;CategoryService&semi; &NewLine; &NewLine;&sol;&ast;&ast; &NewLine; &ast; &commat;author Dinesh Rajput &NewLine; &ast; &NewLine; &ast;&sol; &NewLine;&commat;Controller &NewLine;public class CategoryController &lbrace; &NewLine; &NewLine; &commat;Autowired &NewLine; private CategoryService categoryService&semi; &NewLine; &NewLine; &commat;RequestMapping&lpar;value &equals; "&sol;saveCategory"&comma; method &equals; RequestMethod&period;POST&rpar; &NewLine; public ModelAndView saveEmployee&lpar;&commat;ModelAttribute&lpar;"command"&rpar; CategoryBean category&comma; &NewLine; BindingResult result&rpar; &lbrace; &NewLine; categoryService&period;addCategory&lpar;category&rpar;&semi; &NewLine; return new ModelAndView&lpar;"redirect&colon;&sol;addCategory&period;html"&rpar;&semi; &NewLine; &rcub; &NewLine; &NewLine; &commat;RequestMapping&lpar;value &equals; "&sol;addCategory"&comma; method &equals; RequestMethod&period;GET&rpar; &NewLine; public ModelAndView addCategory&lpar;&commat;ModelAttribute&lpar;"command"&rpar; CategoryBean category&comma; &NewLine; BindingResult result&rpar; &lbrace; &NewLine; Map&lt&semi;String&comma; Object&gt&semi; model &equals; new HashMap&lt&semi;String&comma; Object&gt&semi;&lpar;&rpar;&semi; &NewLine; model&period;put&lpar;"categories"&comma; categoryService&period;getCategories&lpar;&rpar;&rpar;&semi; &NewLine; return new ModelAndView&lpar;"addCategory"&comma; model&rpar;&semi; &NewLine; &rcub; &NewLine; &NewLine; &commat;RequestMapping&lpar;value &equals; "&sol;deleteCategory"&comma; method &equals; RequestMethod&period;GET&rpar; &NewLine; public ModelAndView deleteCategory&lpar;&commat;ModelAttribute&lpar;"command"&rpar; CategoryBean category&comma; &NewLine; BindingResult result&rpar; &lbrace; &NewLine; categoryService&period;deleteCategory&lpar;category&period;getCategoryId&lpar;&rpar;&rpar;&semi; &NewLine; Map&lt&semi;String&comma; Object&gt&semi; model &equals; new HashMap&lt&semi;String&comma; Object&gt&semi;&lpar;&rpar;&semi; &NewLine; model&period;put&lpar;"categories"&comma; categoryService&period;getCategories&lpar;&rpar;&rpar;&semi; &NewLine; return new ModelAndView&lpar;"addCategory"&comma; model&rpar;&semi; &NewLine; &rcub; &NewLine; &NewLine; &commat;RequestMapping&lpar;value &equals; "&sol;editCategory"&comma; method &equals; RequestMethod&period;GET&rpar; &NewLine; public ModelAndView editCategory&lpar;&commat;ModelAttribute&lpar;"command"&rpar; CategoryBean category&comma; &NewLine; BindingResult result&rpar; &lbrace; &NewLine; Map&lt&semi;String&comma; Object&gt&semi; model &equals; new HashMap&lt&semi;String&comma; Object&gt&semi;&lpar;&rpar;&semi; &NewLine; model&period;put&lpar;"category"&comma; categoryService&period;getCategory&lpar;category&period;getCategoryId&lpar;&rpar;&rpar;&rpar;&semi; &NewLine; model&period;put&lpar;"categories"&comma; categoryService&period;getCategories&lpar;&rpar;&rpar;&semi; &NewLine; return new ModelAndView&lpar;"addCategory"&comma; model&rpar;&semi; &NewLine; &rcub; &NewLine; &NewLine; &commat;RequestMapping&lpar;value&equals;"&sol;categories"&comma; method &equals; RequestMethod&period;GET&rpar; &NewLine; public List&lt&semi;CategoryBean&gt&semi; getCategories&lpar;&rpar; &lbrace; &NewLine; return categoryService&period;getCategories&lpar;&rpar;&semi; &NewLine; &rcub; &NewLine;&rcub; &NewLine; &NewLine;<&sol;pre>&NewLine;<p><i><b>PublicationController&period;java<&sol;b><&sol;i><&sol;p>&NewLine;<pre class&equals;"highlight" name&equals;"code">package com&period;dineshonjava&period;controller&semi; &NewLine; &NewLine;import java&period;util&period;HashMap&semi; &NewLine;import java&period;util&period;List&semi; &NewLine;import java&period;util&period;Map&semi; &NewLine; &NewLine;import org&period;springframework&period;beans&period;factory&period;annotation&period;Autowired&semi; &NewLine;import org&period;springframework&period;stereotype&period;Controller&semi; &NewLine;import org&period;springframework&period;validation&period;BindingResult&semi; &NewLine;import org&period;springframework&period;web&period;bind&period;annotation&period;ModelAttribute&semi; &NewLine;import org&period;springframework&period;web&period;bind&period;annotation&period;RequestMapping&semi; &NewLine;import org&period;springframework&period;web&period;bind&period;annotation&period;RequestMethod&semi; &NewLine;import org&period;springframework&period;web&period;servlet&period;ModelAndView&semi; &NewLine; &NewLine;import com&period;dineshonjava&period;bean&period;PublicationBean&semi; &NewLine;import com&period;dineshonjava&period;service&period;CategoryService&semi; &NewLine;import com&period;dineshonjava&period;service&period;PublicationService&semi; &NewLine; &NewLine;&commat;Controller &NewLine;public class PublicationController &lbrace; &NewLine; &NewLine; &commat;Autowired &NewLine; private PublicationService publicationService&semi; &NewLine; &NewLine; &commat;Autowired &NewLine; private CategoryService categoryService&semi; &NewLine; &NewLine; &commat;RequestMapping&lpar;value &equals; "&sol;savePublication"&comma; method &equals; RequestMethod&period;POST&rpar; &NewLine; public ModelAndView saveEmployee&lpar;&commat;ModelAttribute&lpar;"command"&rpar; PublicationBean publication&comma; &NewLine; BindingResult result&rpar; &lbrace; &NewLine; publicationService&period;addPublication&lpar;publication&rpar;&semi; &NewLine; return new ModelAndView&lpar;"redirect&colon;&sol;addPublication&period;html"&rpar;&semi; &NewLine; &rcub; &NewLine; &NewLine; &commat;RequestMapping&lpar;value &equals; "&sol;addPublication"&comma; method &equals; RequestMethod&period;GET&rpar; &NewLine; public ModelAndView addPublication&lpar;&commat;ModelAttribute&lpar;"command"&rpar; PublicationBean publication&comma; &NewLine; BindingResult result&rpar; &lbrace; &NewLine; Map&lt&semi;String&comma; Object&gt&semi; model &equals; new HashMap&lt&semi;String&comma; Object&gt&semi;&lpar;&rpar;&semi; &NewLine; model&period;put&lpar;"publications"&comma; publicationService&period;getPublications&lpar;&rpar;&rpar;&semi; &NewLine; model&period;put&lpar;"categories"&comma; categoryService&period;getCategories&lpar;&rpar;&rpar;&semi; &NewLine; return new ModelAndView&lpar;"addPublication"&comma; model&rpar;&semi; &NewLine; &rcub; &NewLine; &NewLine; &commat;RequestMapping&lpar;value &equals; "&sol;deletePublication"&comma; method &equals; RequestMethod&period;GET&rpar; &NewLine; public ModelAndView deletePublication&lpar;&commat;ModelAttribute&lpar;"command"&rpar; PublicationBean publication&comma; &NewLine; BindingResult result&rpar; &lbrace; &NewLine; publicationService&period;deletePublication&lpar;publication&period;getPubId&lpar;&rpar;&rpar;&semi; &NewLine; Map&lt&semi;String&comma; Object&gt&semi; model &equals; new HashMap&lt&semi;String&comma; Object&gt&semi;&lpar;&rpar;&semi; &NewLine; model&period;put&lpar;"publications"&comma; publicationService&period;getPublications&lpar;&rpar;&rpar;&semi; &NewLine; model&period;put&lpar;"categories"&comma; categoryService&period;getCategories&lpar;&rpar;&rpar;&semi; &NewLine; return new ModelAndView&lpar;"addPublication"&comma; model&rpar;&semi; &NewLine; &rcub; &NewLine; &NewLine; &commat;RequestMapping&lpar;value &equals; "&sol;editPublication"&comma; method &equals; RequestMethod&period;GET&rpar; &NewLine; public ModelAndView editPublication&lpar;&commat;ModelAttribute&lpar;"command"&rpar; PublicationBean publication&comma; &NewLine; BindingResult result&rpar; &lbrace; &NewLine; Map&lt&semi;String&comma; Object&gt&semi; model &equals; new HashMap&lt&semi;String&comma; Object&gt&semi;&lpar;&rpar;&semi; &NewLine; model&period;put&lpar;"publication"&comma; publicationService&period;getPublication&lpar;publication&period;getPubId&lpar;&rpar;&rpar;&rpar;&semi; &NewLine; model&period;put&lpar;"publications"&comma; publicationService&period;getPublications&lpar;&rpar;&rpar;&semi; &NewLine; model&period;put&lpar;"categories"&comma; categoryService&period;getCategories&lpar;&rpar;&rpar;&semi; &NewLine; return new ModelAndView&lpar;"addPublication"&comma; model&rpar;&semi; &NewLine; &rcub; &NewLine; &NewLine; &commat;RequestMapping&lpar;value&equals;"&sol;publications"&comma; method &equals; RequestMethod&period;GET&rpar; &NewLine; public List&lt&semi;PublicationBean&gt&semi; getPublications&lpar;&rpar; &lbrace; &NewLine; return publicationService&period;getPublications&lpar;&rpar;&semi; &NewLine; &rcub; &NewLine;&rcub; &NewLine; &NewLine;<&sol;pre>&NewLine;<p>&NewLine;<b>Spring Web configuration file <i>web&period;xml<&sol;i><&sol;b><&sol;p>&NewLine;<pre class&equals;"highlight" name&equals;"code">&lt&semi;&quest;xml version&equals;"1&period;0" encoding&equals;"UTF-8"&quest;&gt&semi; &NewLine;&lt&semi;web-app version&equals;"2&period;5" xmlns&equals;"http&colon;&sol;&sol;java&period;sun&period;com&sol;xml&sol;ns&sol;javaee" &NewLine; xmlns&colon;xsi&equals;"http&colon;&sol;&sol;www&period;w3&period;org&sol;2001&sol;XMLSchema-instance" &NewLine; xsi&colon;schemaLocation&equals;"http&colon;&sol;&sol;java&period;sun&period;com&sol;xml&sol;ns&sol;javaee http&colon;&sol;&sol;java&period;sun&period;com&sol;xml&sol;ns&sol;javaee&sol;web-app&lowbar;2&lowbar;5&period;xsd"&gt&semi; &NewLine; &NewLine; &lt&semi;servlet&gt&semi; &NewLine; &lt&semi;servlet-name&gt&semi;sdnext&lt&semi;&sol;servlet-name&gt&semi; &NewLine; &lt&semi;servlet-class&gt&semi;org&period;springframework&period;web&period;servlet&period;DispatcherServlet&lt&semi;&sol;servlet-class&gt&semi; &NewLine; &lt&semi;init-param&gt&semi; &NewLine; &lt&semi;param-name&gt&semi;contextConfigLocation&lt&semi;&sol;param-name&gt&semi; &NewLine; &lt&semi;param-value&gt&semi;&sol;WEB-INF&sol;config&sol;sdnext-servlet&period;xml&lt&semi;&sol;param-value&gt&semi; &NewLine; &lt&semi;&sol;init-param&gt&semi; &NewLine; &lt&semi;load-on-startup&gt&semi;1&lt&semi;&sol;load-on-startup&gt&semi; &NewLine; &lt&semi;&sol;servlet&gt&semi; &NewLine; &NewLine; &lt&semi;servlet-mapping&gt&semi; &NewLine; &lt&semi;servlet-name&gt&semi;sdnext&lt&semi;&sol;servlet-name&gt&semi; &NewLine; &lt&semi;url-pattern&gt&semi;&ast;&period;html&lt&semi;&sol;url-pattern&gt&semi; &NewLine; &lt&semi;&sol;servlet-mapping&gt&semi; &NewLine; &NewLine; &lt&semi;welcome-file-list&gt&semi; &NewLine; &lt&semi;welcome-file&gt&semi; &NewLine; addCategory&period;html &NewLine; &lt&semi;&sol;welcome-file&gt&semi; &NewLine; &lt&semi;&sol;welcome-file-list&gt&semi; &NewLine;&lt&semi;&sol;web-app&gt&semi; &NewLine; &NewLine;<&sol;pre>&NewLine;<p>&NewLine;<b>Spring Web configuration file <i>sdnext-servlet&period;xml<&sol;i><&sol;b><&sol;p>&NewLine;<pre class&equals;"highlight" name&equals;"code">&lt&semi;&quest;xml version&equals;"1&period;0" encoding&equals;"UTF-8"&quest;&gt&semi; &NewLine;&lt&semi;beans xmlns&equals;"http&colon;&sol;&sol;www&period;springframework&period;org&sol;schema&sol;beans" &NewLine; xmlns&colon;xsi&equals;"http&colon;&sol;&sol;www&period;w3&period;org&sol;2001&sol;XMLSchema-instance" &NewLine; xmlns&colon;context&equals;"http&colon;&sol;&sol;www&period;springframework&period;org&sol;schema&sol;context" &NewLine; xmlns&colon;tx&equals;"http&colon;&sol;&sol;www&period;springframework&period;org&sol;schema&sol;tx" &NewLine; xsi&colon;schemaLocation&equals;" &NewLine;http&colon;&sol;&sol;www&period;springframework&period;org&sol;schema&sol;beans &NewLine;http&colon;&sol;&sol;www&period;springframework&period;org&sol;schema&sol;beans&sol;spring-beans-3&period;0&period;xsd &NewLine;http&colon;&sol;&sol;www&period;springframework&period;org&sol;schema&sol;context &NewLine;http&colon;&sol;&sol;www&period;springframework&period;org&sol;schema&sol;context&sol;spring-context-3&period;0&period;xsd &NewLine;http&colon;&sol;&sol;www&period;springframework&period;org&sol;schema&sol;tx &NewLine;http&colon;&sol;&sol;www&period;springframework&period;org&sol;schema&sol;tx&sol;spring-tx-3&period;0&period;xsd"&gt&semi; &NewLine; &NewLine; &lt&semi;context&colon;property-placeholder location&equals;"classpath&colon;resources&sol;database&period;properties" &sol;&gt&semi; &NewLine; &lt&semi;context&colon;component-scan base-package&equals;"com&period;dineshonjava" &sol;&gt&semi; &NewLine; &NewLine; &lt&semi;tx&colon;annotation-driven transaction-manager&equals;"hibernateTransactionManager"&sol;&gt&semi; &NewLine; &NewLine; &lt&semi;bean id&equals;"jspViewResolver" &NewLine; class&equals;"org&period;springframework&period;web&period;servlet&period;view&period;InternalResourceViewResolver"&gt&semi; &NewLine; &lt&semi;property name&equals;"viewClass" &NewLine; value&equals;"org&period;springframework&period;web&period;servlet&period;view&period;JstlView" &sol;&gt&semi; &NewLine; &lt&semi;property name&equals;"prefix" value&equals;"&sol;WEB-INF&sol;view&sol;" &sol;&gt&semi; &NewLine; &lt&semi;property name&equals;"suffix" value&equals;"&period;jsp" &sol;&gt&semi; &NewLine; &lt&semi;&sol;bean&gt&semi; &NewLine; &NewLine; &lt&semi;bean id&equals;"dataSource" &NewLine; class&equals;"org&period;springframework&period;jdbc&period;datasource&period;DriverManagerDataSource"&gt&semi; &NewLine; &lt&semi;property name&equals;"driverClassName" value&equals;"&dollar;&lbrace;database&period;driver&rcub;" &sol;&gt&semi; &NewLine; &lt&semi;property name&equals;"url" value&equals;"&dollar;&lbrace;database&period;url&rcub;" &sol;&gt&semi; &NewLine; &lt&semi;property name&equals;"username" value&equals;"&dollar;&lbrace;database&period;user&rcub;" &sol;&gt&semi; &NewLine; &lt&semi;property name&equals;"password" value&equals;"&dollar;&lbrace;database&period;password&rcub;" &sol;&gt&semi; &NewLine; &lt&semi;&sol;bean&gt&semi; &NewLine; &NewLine; &lt&semi;bean id&equals;"sessionFactory" &NewLine; class&equals;"org&period;springframework&period;orm&period;hibernate3&period;annotation&period;AnnotationSessionFactoryBean"&gt&semi; &NewLine; &lt&semi;property name&equals;"dataSource" ref&equals;"dataSource" &sol;&gt&semi; &NewLine; &lt&semi;property name&equals;"annotatedClasses"&gt&semi; &NewLine; &lt&semi;list&gt&semi; &NewLine; &lt&semi;value&gt&semi;com&period;dineshonjava&period;bean&period;CategoryBean&lt&semi;&sol;value&gt&semi; &NewLine; &lt&semi;value&gt&semi;com&period;dineshonjava&period;bean&period;PublicationBean&lt&semi;&sol;value&gt&semi; &NewLine; &lt&semi;&sol;list&gt&semi; &NewLine; &lt&semi;&sol;property&gt&semi; &NewLine; &lt&semi;property name&equals;"hibernateProperties"&gt&semi; &NewLine; &lt&semi;props&gt&semi; &NewLine; &lt&semi;prop key&equals;"hibernate&period;dialect"&gt&semi;&dollar;&lbrace;hibernate&period;dialect&rcub;&lt&semi;&sol;prop&gt&semi; &NewLine; &lt&semi;prop key&equals;"hibernate&period;show&lowbar;sql"&gt&semi;&dollar;&lbrace;hibernate&period;show&lowbar;sql&rcub;&lt&semi;&sol;prop&gt&semi; &NewLine; &lt&semi;prop key&equals;"hibernate&period;hbm2ddl&period;auto"&gt&semi;&dollar;&lbrace;hibernate&period;hbm2ddl&period;auto&rcub;&lt&semi;&sol;prop&gt&semi; &NewLine; &lt&semi;&sol;props&gt&semi; &NewLine; &lt&semi;&sol;property&gt&semi; &NewLine; &lt&semi;&sol;bean&gt&semi; &NewLine; &NewLine; &lt&semi;bean id&equals;"hibernateTransactionManager" &NewLine; class&equals;"org&period;springframework&period;orm&period;hibernate3&period;HibernateTransactionManager"&gt&semi; &NewLine; &lt&semi;property name&equals;"sessionFactory" ref&equals;"sessionFactory" &sol;&gt&semi; &NewLine; &lt&semi;&sol;bean&gt&semi; &NewLine;&lt&semi;&sol;beans&gt&semi; &NewLine;<&sol;pre>&NewLine;<p>&NewLine;<i><b>addCategory&period;jsp<&sol;b><&sol;i><&sol;p>&NewLine;<pre class&equals;"highlight" name&equals;"code">&lt&semi;&percnt;&commat; page language&equals;"java" contentType&equals;"text&sol;html&semi; charset&equals;ISO-8859-1" &NewLine; pageEncoding&equals;"ISO-8859-1"&percnt;&gt&semi; &NewLine;&lt&semi;&percnt;&commat;taglib uri&equals;"http&colon;&sol;&sol;www&period;springframework&period;org&sol;tags&sol;form" prefix&equals;"form"&percnt;&gt&semi; &NewLine;&lt&semi;&percnt;&commat; taglib uri&equals;"http&colon;&sol;&sol;java&period;sun&period;com&sol;jsp&sol;jstl&sol;core" prefix&equals;"c"&percnt;&gt&semi; &NewLine;&lt&semi;&excl;DOCTYPE html PUBLIC "-&sol;&sol;W3C&sol;&sol;DTD HTML 4&period;01 Transitional&sol;&sol;EN" "http&colon;&sol;&sol;www&period;w3&period;org&sol;TR&sol;html4&sol;loose&period;dtd"&gt&semi; &NewLine;&lt&semi;html&gt&semi; &NewLine; &lt&semi;head&gt&semi; &NewLine; &lt&semi;meta http-equiv&equals;"Content-Type" content&equals;"text&sol;html&semi; charset&equals;ISO-8859-1"&gt&semi; &NewLine; &lt&semi;title&gt&semi;Spring MVC Form Handling&lt&semi;&sol;title&gt&semi; &NewLine; &lt&semi;&sol;head&gt&semi; &NewLine; &lt&semi;body&gt&semi;&lt&semi;center&gt&semi; &NewLine; &lt&semi;h2&gt&semi;Create New Category&lt&semi;&sol;h2&gt&semi; &NewLine; &lt&semi;form&colon;form method&equals;"POST" action&equals;"&sol;elhumeante&sol;saveCategory&period;html"&gt&semi; &NewLine; &lt&semi;table&gt&semi; &NewLine; &lt&semi;tr&gt&semi; &NewLine; &lt&semi;td&gt&semi;&lt&semi;form&colon;label path&equals;"categoryId"&gt&semi;Category ID&colon;&lt&semi;&sol;form&colon;label&gt&semi;&lt&semi;&sol;td&gt&semi; &NewLine; &lt&semi;td&gt&semi;&lt&semi;form&colon;input path&equals;"categoryId" readonly&equals;"true"&sol;&gt&semi;&lt&semi;&sol;td&gt&semi; &NewLine; &lt&semi;&sol;tr&gt&semi; &NewLine; &lt&semi;tr&gt&semi; &NewLine; &lt&semi;td&gt&semi;&lt&semi;form&colon;label path&equals;"categoryName"&gt&semi;Category Name&colon;&lt&semi;&sol;form&colon;label&gt&semi;&lt&semi;&sol;td&gt&semi; &NewLine; &lt&semi;td&gt&semi;&lt&semi;form&colon;input path&equals;"categoryName" value&equals;"&dollar;&lbrace;category&period;categoryName&rcub;"&sol;&gt&semi;&lt&semi;&sol;td&gt&semi; &NewLine; &lt&semi;&sol;tr&gt&semi; &NewLine; &NewLine; &lt&semi;tr&gt&semi; &NewLine; &lt&semi;tr&gt&semi; &NewLine; &lt&semi;td&gt&semi;&amp&semi;nbsp&semi;&lt&semi;&sol;td&gt&semi; &NewLine; &lt&semi;td&gt&semi;&lt&semi;input type&equals;"submit" value&equals;"SAVE"&sol;&gt&semi;&lt&semi;&sol;td&gt&semi; &NewLine; &lt&semi;&sol;tr&gt&semi; &NewLine; &lt&semi;&sol;table&gt&semi; &NewLine; &lt&semi;&sol;form&colon;form&gt&semi; &NewLine; &lt&semi;br&sol;&gt&semi; &NewLine; &lt&semi;c&colon;if test&equals;"&dollar;&lbrace;&excl;empty categories&rcub;"&gt&semi; &NewLine; &lt&semi;table align&equals;"center" border&equals;"1"&gt&semi; &NewLine; &lt&semi;tr&gt&semi; &NewLine; &lt&semi;th&gt&semi;Category ID&lt&semi;&sol;th&gt&semi; &NewLine; &lt&semi;th&gt&semi;Category Name&lt&semi;&sol;th&gt&semi; &NewLine; &lt&semi;th&gt&semi;Options&lt&semi;&sol;th&gt&semi; &NewLine; &lt&semi;&sol;tr&gt&semi; &NewLine; &NewLine; &lt&semi;c&colon;forEach items&equals;"&dollar;&lbrace;categories&rcub;" var&equals;"category"&gt&semi; &NewLine; &lt&semi;tr&gt&semi; &NewLine; &lt&semi;td&gt&semi;&lt&semi;c&colon;out value&equals;"&dollar;&lbrace;category&period;categoryId&rcub;"&sol;&gt&semi;&lt&semi;&sol;td&gt&semi; &NewLine; &lt&semi;td&gt&semi;&lt&semi;c&colon;out value&equals;"&dollar;&lbrace;category&period;categoryName&rcub;"&sol;&gt&semi;&lt&semi;&sol;td&gt&semi; &NewLine; &lt&semi;td align&equals;"center"&gt&semi;&lt&semi;a href&equals;"editCategory&period;html&quest;categoryId&equals;&dollar;&lbrace;category&period;categoryId&rcub;"&gt&semi;Edit&lt&semi;&sol;a&gt&semi; &vert; &lt&semi;a href&equals;"deleteCategory&period;html&quest;categoryId&equals;&dollar;&lbrace;category&period;categoryId&rcub;"&gt&semi;Delete&lt&semi;&sol;a&gt&semi;&lt&semi;&sol;td&gt&semi; &NewLine; &lt&semi;&sol;tr&gt&semi; &NewLine; &lt&semi;&sol;c&colon;forEach&gt&semi; &NewLine; &lt&semi;&sol;table&gt&semi; &NewLine;&lt&semi;&sol;c&colon;if&gt&semi; &NewLine;&lt&semi;h2&gt&semi;&lt&semi;a href&equals;"addPublication&period;html"&gt&semi;Adding Publication&lt&semi;&sol;a&gt&semi;&lt&semi;&sol;h2&gt&semi; &NewLine;&lt&semi;&sol;center&gt&semi; &NewLine; &lt&semi;&sol;body&gt&semi; &NewLine;&lt&semi;&sol;html&gt&semi; &NewLine;<&sol;pre>&NewLine;<p>&NewLine;<i><b>addPublication&period;jsp<&sol;b><&sol;i><&sol;p>&NewLine;<pre class&equals;"highlight" name&equals;"code">&lt&semi;&percnt;&commat; page language&equals;"java" contentType&equals;"text&sol;html&semi; charset&equals;ISO-8859-1" &NewLine; pageEncoding&equals;"ISO-8859-1"&percnt;&gt&semi; &NewLine;&lt&semi;&percnt;&commat;taglib uri&equals;"http&colon;&sol;&sol;www&period;springframework&period;org&sol;tags&sol;form" prefix&equals;"form"&percnt;&gt&semi; &NewLine;&lt&semi;&percnt;&commat; taglib uri&equals;"http&colon;&sol;&sol;java&period;sun&period;com&sol;jsp&sol;jstl&sol;core" prefix&equals;"c"&percnt;&gt&semi; &NewLine;&lt&semi;&excl;DOCTYPE html PUBLIC "-&sol;&sol;W3C&sol;&sol;DTD HTML 4&period;01 Transitional&sol;&sol;EN" "http&colon;&sol;&sol;www&period;w3&period;org&sol;TR&sol;html4&sol;loose&period;dtd"&gt&semi; &NewLine;&lt&semi;html&gt&semi; &NewLine; &lt&semi;head&gt&semi; &NewLine; &lt&semi;meta http-equiv&equals;"Content-Type" content&equals;"text&sol;html&semi; charset&equals;ISO-8859-1"&gt&semi; &NewLine; &lt&semi;title&gt&semi;Spring MVC Form Handling&lt&semi;&sol;title&gt&semi; &NewLine; &lt&semi;&sol;head&gt&semi; &NewLine; &lt&semi;body&gt&semi; &NewLine; &lt&semi;center&gt&semi; &NewLine; &lt&semi;h2&gt&semi;Create New Publication&lt&semi;&sol;h2&gt&semi; &NewLine; &lt&semi;form&colon;form method&equals;"POST" action&equals;"&sol;elhumeante&sol;savePublication&period;html"&gt&semi; &NewLine; &lt&semi;table&gt&semi; &NewLine; &lt&semi;tr&gt&semi; &NewLine; &lt&semi;td&gt&semi;&lt&semi;form&colon;label path&equals;"pubId"&gt&semi;Publication ID&colon;&lt&semi;&sol;form&colon;label&gt&semi;&lt&semi;&sol;td&gt&semi; &NewLine; &lt&semi;td&gt&semi;&lt&semi;form&colon;input path&equals;"pubId" value&equals;"&dollar;&lbrace;publication&period;pubId&rcub;" readonly&equals;"true"&sol;&gt&semi;&lt&semi;&sol;td&gt&semi; &NewLine; &lt&semi;&sol;tr&gt&semi; &NewLine; &lt&semi;tr&gt&semi; &NewLine; &lt&semi;td&gt&semi;&lt&semi;form&colon;label path&equals;"pubTitle"&gt&semi;Publication Title&colon;&lt&semi;&sol;form&colon;label&gt&semi;&lt&semi;&sol;td&gt&semi; &NewLine; &lt&semi;td&gt&semi;&lt&semi;form&colon;input path&equals;"pubTitle" value&equals;"&dollar;&lbrace;publication&period;pubTitle&rcub;"&sol;&gt&semi;&lt&semi;&sol;td&gt&semi; &NewLine; &lt&semi;&sol;tr&gt&semi; &NewLine; &NewLine; &lt&semi;tr&gt&semi; &NewLine; &lt&semi;td&gt&semi; &NewLine; &lt&semi;form&colon;label path&equals;"category&period;categoryId"&gt&semi;Publication Type&colon;&lt&semi;&sol;form&colon;label&gt&semi; &NewLine; &lt&semi;&sol;td&gt&semi; &NewLine; &lt&semi;td&gt&semi; &NewLine; &lt&semi;form&colon;select path&equals;"category&period;categoryId" cssStyle&equals;"width&colon; 150px&semi;"&gt&semi; &NewLine; &lt&semi;option value&equals;"-1"&gt&semi;Select a type&lt&semi;&sol;option&gt&semi; &NewLine; &lt&semi;c&colon;forEach items&equals;"&dollar;&lbrace;categories&rcub;" var&equals;"category"&gt&semi; &NewLine; &lt&semi;option value&equals;"&dollar;&lbrace;category&period;categoryId&rcub;"&gt&semi;&dollar;&lbrace;category&period;categoryName&rcub;&lt&semi;&sol;option&gt&semi; &NewLine; &lt&semi;&sol;c&colon;forEach&gt&semi; &NewLine; &lt&semi;&sol;form&colon;select&gt&semi; &NewLine; &lt&semi;&sol;td&gt&semi; &NewLine; &lt&semi;&sol;tr&gt&semi; &NewLine; &lt&semi;tr&gt&semi; &NewLine; &lt&semi;td&gt&semi;&lt&semi;form&colon;label path&equals;"pubContent"&gt&semi;Publication Content&colon;&lt&semi;&sol;form&colon;label&gt&semi;&lt&semi;&sol;td&gt&semi; &NewLine; &lt&semi;td&gt&semi;&lt&semi;form&colon;textarea path&equals;"pubContent" value&equals;"&dollar;&lbrace;publication&period;pubContent&rcub;" cssStyle&equals;"width&colon; 150px&semi;"&sol;&gt&semi;&lt&semi;&sol;td&gt&semi; &NewLine; &lt&semi;&sol;tr&gt&semi; &NewLine; &lt&semi;tr&gt&semi; &NewLine; &lt&semi;td&gt&semi;&amp&semi;nbsp&semi;&lt&semi;&sol;td&gt&semi; &NewLine; &lt&semi;td&gt&semi;&lt&semi;input type&equals;"submit" value&equals;"SAVE"&sol;&gt&semi;&lt&semi;&sol;td&gt&semi; &NewLine; &lt&semi;&sol;tr&gt&semi; &NewLine; &lt&semi;&sol;table&gt&semi; &NewLine; &lt&semi;&sol;form&colon;form&gt&semi; &NewLine; &lt&semi;br&sol;&gt&semi; &NewLine; &lt&semi;c&colon;if test&equals;"&dollar;&lbrace;&excl;empty publications&rcub;"&gt&semi; &NewLine; &lt&semi;table align&equals;"center" border&equals;"1"&gt&semi; &NewLine; &lt&semi;tr&gt&semi; &NewLine; &lt&semi;th&gt&semi;ID&lt&semi;&sol;th&gt&semi; &NewLine; &lt&semi;th&gt&semi;Title&lt&semi;&sol;th&gt&semi; &NewLine; &lt&semi;th&gt&semi;Type&lt&semi;&sol;th&gt&semi; &NewLine; &lt&semi;th&gt&semi;Content&lt&semi;&sol;th&gt&semi; &NewLine; &lt&semi;th&gt&semi;Options&lt&semi;&sol;th&gt&semi; &NewLine; &lt&semi;&sol;tr&gt&semi; &NewLine; &NewLine; &lt&semi;c&colon;forEach items&equals;"&dollar;&lbrace;publications&rcub;" var&equals;"publication"&gt&semi; &NewLine; &lt&semi;tr&gt&semi; &NewLine; &lt&semi;td&gt&semi;&lt&semi;c&colon;out value&equals;"&dollar;&lbrace;publication&period;pubId&rcub;"&sol;&gt&semi;&lt&semi;&sol;td&gt&semi; &NewLine; &lt&semi;td&gt&semi;&lt&semi;c&colon;out value&equals;"&dollar;&lbrace;publication&period;pubTitle&rcub;"&sol;&gt&semi;&lt&semi;&sol;td&gt&semi; &NewLine; &lt&semi;td&gt&semi;&lt&semi;c&colon;out value&equals;"&dollar;&lbrace;publication&period;category&period;categoryName&rcub;"&sol;&gt&semi;&lt&semi;&sol;td&gt&semi; &NewLine; &lt&semi;td&gt&semi;&lt&semi;c&colon;out value&equals;"&dollar;&lbrace;publication&period;pubContent&rcub;"&sol;&gt&semi;&lt&semi;&sol;td&gt&semi; &NewLine; &lt&semi;td align&equals;"center"&gt&semi;&lt&semi;a href&equals;"editPublication&period;html&quest;pubId&equals;&dollar;&lbrace;publication&period;pubId&rcub;"&gt&semi;Edit&lt&semi;&sol;a&gt&semi; &vert; &lt&semi;a href&equals;"deletePublication&period;html&quest;pubId&equals;&dollar;&lbrace;publication&period;pubId&rcub;"&gt&semi;Delete&lt&semi;&sol;a&gt&semi;&lt&semi;&sol;td&gt&semi; &NewLine; &lt&semi;&sol;tr&gt&semi; &NewLine; &lt&semi;&sol;c&colon;forEach&gt&semi; &NewLine; &lt&semi;&sol;table&gt&semi; &NewLine;&lt&semi;&sol;c&colon;if&gt&semi; &NewLine;&lt&semi;h2&gt&semi;&lt&semi;a href&equals;"addCategory&period;html"&gt&semi;Adding Category&lt&semi;&sol;a&gt&semi;&lt&semi;&sol;h2&gt&semi; &NewLine;&lt&semi;&sol;center&gt&semi; &NewLine; &lt&semi;&sol;body&gt&semi; &NewLine;&lt&semi;&sol;html&gt&semi; &NewLine;<&sol;pre>&NewLine;<p>&NewLine;Once you are done with creating source and configuration files&comma; export your application&period; Right click on your application and use<b> Export-&gt&semi; WAR<&sol;b> File option and save your <b><i>elhumeante&period;war<&sol;i><&sol;b> file in Tomcat&&num;8217&semi;s webapps folder&period;<&sol;p>&NewLine;<p> Now start your Tomcat server and make sure you are able to access other web pages from webapps folder using a standard browser&period; Now try a URL <i><b>http&colon;&sol;&sol;localhost&colon;8181&sol;elhumeante&sol; <&sol;b><&sol;i>and you should see the following result if everything is fine with your Spring Web Application&colon;<&sol;p>&NewLine;<p><i><b>Create category&colon; <&sol;b><&sol;i><&sol;p>&NewLine;<div class&equals;"separator" style&equals;"clear&colon; both&semi; text-align&colon; center&semi;"><img border&equals;"0" src&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;wp-content&sol;uploads&sol;2013&sol;05&sol;addcategory&period;png"&sol;><&sol;div>&NewLine;<p>&NewLine;<i><b>Create Publication&colon;&nbsp&semi;<&sol;b><&sol;i><&sol;p>&NewLine;<div class&equals;"separator" style&equals;"clear&colon; both&semi; text-align&colon; center&semi;"><img border&equals;"0" src&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;wp-content&sol;uploads&sol;2013&sol;05&sol;addpublication&period;png" &sol;><&sol;div>&NewLine;<p><&sol;p>&NewLine;<div class&equals;"separator" style&equals;"clear&colon; both&semi; text-align&colon; center&semi;"><img border&equals;"0" src&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;wp-content&sol;uploads&sol;2013&sol;05&sol;addcategory1&period;png" &sol;><&sol;div>&NewLine;<p><b>Download Source code<&sol;b><br &sol;>&NewLine;<a href&equals;"https&colon;&sol;&sol;sites&period;google&period;com&sol;a&sol;dineshonjava&period;com&sol;dineshonjava&sol;dineshonjava&sol;elhumeante&period;zip&quest;attredirects&equals;0&amp&semi;d&equals;1" target&equals;"&lowbar;blank"><b>elhumeante&period;zip<&sol;b><&sol;a><&sol;p>&NewLine;<div style&equals;"background-color&colon; &num;f2f9fc&semi; border&colon;1px solid &num;c9e6f2&semi;border-radius&colon;3px&semi;padding&colon;16px&semi;line-height&colon;1&period;45&semi;">&NewLine;<span style&equals;"color&colon; red&semi;font-size&colon; x-large&semi;text-align&colon; center&semi;"><b>Spring MVC Related Posts<&sol;b><&sol;span><&sol;p>&NewLine;<ol style&equals;"text-align&colon; left&semi;"><span style&equals;"color&colon; &num;274e13&semi;"><&sol;p>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-web-mvc-framework-chapter-38&sol;"><span style&equals;"color&colon; red&semi;">Spring MVC Web Tutorial<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-mvc-interview-questions-and-answers&sol;"><span style&equals;"color&colon; red&semi;">Spring MVC Interview Questions<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;introduction-to-mvc&sol;"><span style&equals;"color&colon; red&semi;">MVC Design Pattern<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;what-is-dispatcherservlet-in-spring-and-its-uses&sol;"><span style&equals;"color&colon; red&semi;">Spring MVC DispatcherServlet <&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;difference-between-applicationcontext-webapplicationcontext-in-spring-mvc&sol;"><span style&equals;"color&colon; red&semi;">Spring MVC WebApplicationContext and Root Application Context<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;stereotype-annotations-in-spring&sol;"><span style&equals;"color&colon; red&semi;">Spring MVC &commat;Controller Annotation<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;requestmapping-annotation-in-spring-mvc&sol;"><span style&equals;"color&colon; red&semi;">Spring MVC &commat;RequestMapping Annotation<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;requestparam-annotation-in-spring-mvc-with-example&sol;"><span style&equals;"color&colon; red&semi;">Spring MVC &commat;RequestParam Annotation<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;difference-between-applicationcontext-webapplicationcontext-in-spring-mvc&sol;"><span style&equals;"color&colon; red&semi;">Spring MVC ContextLoaderListener<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;requestparam-vs-pathvariable-annotations-in-spring-mvc&sol;"><span style&equals;"color&colon; red&semi;">Spring MVC &commat;RequestParam and &commat;PathVariable annotations<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-30-mvc-hello-world-example&sol;"><span style&equals;"color&colon; red&semi;">Spring MVC Hello World Example<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-exception-handling-example&sol;"><span style&equals;"color&colon; red&semi;">Spring MVC Exception Handling Example<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-mvc-with-hibernate-crud-example&sol;"><span style&equals;"color&colon; red&semi;">Spring MVC with Hibernate CRUD Example<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-3-mvc-tiles-plugin-with-example&sol;"><span style&equals;"color&colon; red&semi;">Spring MVC Tiles Plugin with Example<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-3-mvc-and-interceptor-with&sol;"><span style&equals;"color&colon; red&semi;">Spring MVC Interceptor with example<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;integration-spring-mvc3-and-mongodb&sol;"><span style&equals;"color&colon; red&semi;">Spring MVC with MongoDB CRUD Example<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-3-mvc-internationalization&sol;"><span style&equals;"color&colon; red&semi;">Spring MVC Internationalization &&num;038&semi; Localization with Example<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<p><&sol;span><&sol;ol>&NewLine;<&sol;div>&NewLine;<p><&sol;p>&NewLine;<div style&equals;"text-align&colon; center&semi;"><b>&lt&semi;&lt&semi;<&sol;b><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-web-mvc-framework-chapter-38&sol;">Spring Web MVC Framework<&sol;a><&sol;b><b> &vert;<a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-tutorial&sol;">index<&sol;a>&vert; <&sol;b><b><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-crud-example-using-many-to-one&sol;">Spring Many to One Example<&sol;a><&sol;b><&sol;b><b>&gt&semi;&gt&semi;<&sol;b><&sol;div>&NewLine;<p>&NewLine;<&sol;div>&NewLine;<div class&equals;"wp-post-navigation"> &NewLine;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab; <div class&equals;"wp-post-navigation-pre"> &NewLine;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab; <a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-tutorial&sol;">Previous<&sol;a> &NewLine;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab; <&sol;div> &NewLine;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab; <div class&equals;"wp-post-navigation-next"> &NewLine;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab; <a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-crud-example-using-many-to-one&sol;">Next<&sol;a> &NewLine;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab; <&sol;div> &NewLine;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;<&sol;div>&NewLine;<script type&equals;"text&sol;javascript">&NewLine;jQuery&lpar;document&rpar;&period;ready&lpar;function&lpar;&dollar;&rpar; &lbrace;&NewLine; &dollar;&period;post&lpar;'https&colon;&sol;&sol;dineshonjava&period;com&sol;wp-admin&sol;admin-ajax&period;php'&comma; &lbrace;action&colon; 'mts&lowbar;view&lowbar;count'&comma; id&colon; '465'&rcub;&rpar;&semi;&NewLine;&rcub;&rpar;&semi;&NewLine;<&sol;script>

Dinesh Rajput

Dinesh Rajput is the chief editor of a website Dineshonjava, a technical blog dedicated to the Spring and Java technologies. It has a series of articles related to Java technologies. Dinesh has been a Spring enthusiast since 2008 and is a Pivotal Certified Spring Professional, an author of a book Spring 5 Design Pattern, and a blogger. He has more than 10 years of experience with different aspects of Spring and Java design and development. His core expertise lies in the latest version of Spring Framework, Spring Boot, Spring Security, creating REST APIs, Microservice Architecture, Reactive Pattern, Spring AOP, Design Patterns, Struts, Hibernate, Web Services, Spring Batch, Cassandra, MongoDB, and Web Application Design and Architecture. He is currently working as a technology manager at a leading product and web development company. He worked as a developer and tech lead at the Bennett, Coleman & Co. Ltd and was the first developer in his previous company, Paytm. Dinesh is passionate about the latest Java technologies and loves to write technical blogs related to it. He is a very active member of the Java and Spring community on different forums. When it comes to the Spring Framework and Java, Dinesh tops the list!

Share
Published by
Dinesh Rajput

Recent Posts

Strategy Design PatternsĀ using Lambda

Strategy Design Patterns We can easily create a strategy design pattern using lambda. To implement…

4 years ago

Decorator Pattern using Lambda

Decorator Pattern A decorator pattern allows a user to add new functionality to an existing…

4 years ago

Delegating pattern using lambda

Delegating pattern In software engineering, the delegation pattern is an object-oriented design pattern that allows…

4 years ago

Spring Vs Django- Know The Difference Between The Two

Technology has emerged a lot in the last decade, and now we have artificial intelligence;…

4 years ago

TOP 20 MongoDB INTERVIEW QUESTIONS 2022

Managing a database is becoming increasingly complex now due to the vast amount of data…

4 years ago

Scheduler @Scheduled Annotation Spring Boot

Overview In this article, we will explore Spring Scheduler how we could use it by…

4 years ago