Spring 4

What is New in Spring Framework 4.x

<div dir&equals;"ltr" style&equals;"text-align&colon; justify&semi;">&NewLine;<div dir&equals;"ltr" style&equals;"text-align&colon; justify&semi;">&NewLine;After nearly four years the popular Spring Framework is getting an upgrade from version 3 to version 4&period; Spring 3&period;0 was first released in December 2009&period; Spring 3&period;1 followed in December 2011&period; Spring 3&period;2&period;2 was released in March 2013&period; Along with this announcement is the release of Spring Framework 3&period;2&period;3&comma; containing bug fixes and OpenJDK 8 runtime support&period;<&sol;p>&NewLine;<p>New Features and Enhancements in Spring Framework 4&period;0&period; are the first to fully support Java 8 features&comma;You can still use Spring with older versions of Java&comma; however&comma; the minimum requirement has now been raised to Java SE 6&period; So let us see below step by step previous incremental releases and it&&num;8217&semi;s features in short&period;<&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;<p><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><b>The previous incremental release was Spring 3&period;2 which introduced lot of new features like&colon;<&sol;b><&sol;p>&NewLine;<ul>&NewLine;<li>Spring MVC Test Framework<&sol;li>&NewLine;<li>Asynchronous MVC processing on Servlet 3&period;0<&sol;li>&NewLine;<li>custom &commat;Bean definition annotations in &commat;Configuration classes<&sol;li>&NewLine;<li>&commat;Autowired and &commat;Value to be used as meta-annotations<&sol;li>&NewLine;<li>Concurrency refinements across the framework<&sol;li>&NewLine;<li>loading WebApplicationContexts in the TestContext framework<&sol;li>&NewLine;<li>JCache 0&period;5 &lpar;JSR-107&rpar;<&sol;li>&NewLine;<&sol;ul>&NewLine;<div class&equals;"separator" style&equals;"clear&colon; both&semi; text-align&colon; center&semi;"><img src&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;wp-content&sol;uploads&sol;2014&sol;02&sol;testdrive-angularjs-with-spring-4-6-638&period;jpg" border&equals;"0" &sol;><&sol;div>&NewLine;<p><b><i>&commat;ImageSource-slideshare&period;net<&sol;i><&sol;b><&sol;p>&NewLine;<p>On 12-December-2013&comma; Spring IO has officially announced that Spring Framework 4&period;0 GA is available for the production use&period; Version 4&period;0 is the latest major release of the Spring Framework and the first to fully support Java 8 features&period; Here I summarize the prominent features&period;<&sol;p>&NewLine;<h2><b>New Features and Enhancements in Spring Framework 4&period;0<&sol;b><&sol;h2>&NewLine;<p><b>1&period; Removed Deprecated Packages and Methods<&sol;b><br &sol;>&NewLine;All deprecated packages&comma; and many deprecated classes and methods have been removed with version 4&period;0&period; If you are upgrading from a previous release of Spring&comma; you should ensure that you have fixed any deprecated calls that you were making to outdated APIs&period; This should be the challenging point for those who want to migrate their old spring applications to the new version&period; As a caution&comma; if you are running the old spring application&comma; then first thing to get rid of your deprecated APIs before migrating to the latest version&period;<&sol;p>&NewLine;<p>For a complete set of changes&comma; <a href&equals;"http&colon;&sol;&sol;docs&period;spring&period;io&sol;spring-framework&sol;docs&sol;3&period;2&period;4&period;RELEASE&lowbar;to&lowbar;4&period;0&period;0&period;RELEASE&sol;" target&equals;"&lowbar;blank" rel&equals;"noopener">check out the API Differences Report<&sol;a>&period;<&sol;p>&NewLine;<p><b>2&period; Java 8 Support<&sol;b><br &sol;>&NewLine;Spring Framework 4&period;0 provides support for several Java 8 features&period; You can make use of lambda expressions and method references with Spring’s callback interfaces&period; There is first-class support for java&period;time &lpar;JSR-310&rpar;&comma; and several existing annotations have been retrofitted as &commat;Repeatable&period; You can also use Java 8’s parameter name discovery &lpar;based on the -parameters compiler flag&rpar; as an alternative to compiling your code with debug information enabled&period;<br &sol;>&NewLine;<b>Some of the Java SE 8 features to be supported include&colon;<&sol;b><&sol;p>&NewLine;<ul style&equals;"text-align&colon; left&semi;">&NewLine;<li>JSR-335 Lambda expressions&period;<&sol;li>&NewLine;<li>JSR-310 Date-Time value types for Spring data binding and formatting&period;<&sol;li>&NewLine;<li>Support for the new 1&period;8 byte code format &lpar;required to support Lambda expressions&rpar;&period;<&sol;li>&NewLine;<&sol;ul>&NewLine;<p>Spring 4&period;0 has increased the minimum recommendation to Java 6&period;0&period; Also it states that any new project recommended to use the Java 7&period;0 for their projects with Spring 4&period;0&period; It still supports the lower version Java 6 and 7 without any problem&period;<&sol;p>&NewLine;<p><b>3&period; Java EE 6 and 7<&sol;b><br &sol;>&NewLine;Java EE version 6 or above is now considered the baseline for Spring Framework 4&comma; with the JPA 2&period;0 and Servlet 3&period;0 specifications being of particular relevance&period; It is possible to run your application in Servlet 2&period;5&comma; but it is recommended to use Servlet 3&period;0 environment&period;<&sol;p>&NewLine;<p><b>4&period; Groovy Bean Definition DSL<&sol;b><br &sol;>&NewLine;With Spring Framework 4&period;0 it is now possible to define external bean configuration using a Groovy DSL&period; <a href&equals;"http&colon;&sol;&sol;docs&period;spring&period;io&sol;spring&sol;docs&sol;current&sol;javadoc-api&sol;org&sol;springframework&sol;beans&sol;factory&sol;groovy&sol;GroovyBeanDefinitionReader&period;html" target&equals;"&lowbar;blank" rel&equals;"noopener">Read more about this API<&sol;a>&period;<&sol;p>&NewLine;<p><b>5&period; Core Container Improvements<&sol;b><br &sol;>&NewLine;There have been several general improvements to the core container&colon;<&sol;p>&NewLine;<div class&equals;"itemizedlist">&NewLine;<ul class&equals;"itemizedlist" >&NewLine;<li class&equals;"listitem">Spring now treats <a class&equals;"link" title&equals;"4&period;9&period;4 Using generics as autowiring qualifiers" href&equals;"http&colon;&sol;&sol;docs&period;spring&period;io&sol;spring&sol;docs&sol;4&period;0&period;0&period;RELEASE&sol;spring-framework-reference&sol;htmlsingle&sol;&num;beans-generics-as-qualifiers" target&equals;"&lowbar;blank" rel&equals;"noopener">generic types as a form ofqualifier<&sol;a> when injecting Beans&period; For example&comma; if you are using a Spring Data Repository you can now easily inject a specific implementation&colon; &commat;Autowired Repository&lt&semi;Customer&gt&semi; customerRepository&period;<&sol;li>&NewLine;<li class&equals;"listitem">If you use Spring’s meta-annotation support&comma; you can now develop custom annotations that <a class&equals;"link" title&equals;"4&period;10&period;2 Meta-annotations" href&equals;"http&colon;&sol;&sol;docs&period;spring&period;io&sol;spring&sol;docs&sol;4&period;0&period;0&period;RELEASE&sol;spring-framework-reference&sol;htmlsingle&sol;&num;beans-meta-annotations" target&equals;"&lowbar;blank" rel&equals;"noopener">expose specific attributes from the source annotation<&sol;a>&period;<&sol;li>&NewLine;<li class&equals;"listitem">Beans can now be Ordered when they are <a class&equals;"link" title&equals;"4&period;9&period;2 &commat;Autowired" href&equals;"http&colon;&sol;&sol;docs&period;spring&period;io&sol;spring&sol;docs&sol;4&period;0&period;0&period;RELEASE&sol;spring-framework-reference&sol;htmlsingle&sol;&num;beans-autowired-annotation" target&equals;"&lowbar;blank" rel&equals;"noopener">autowired intolists and arrays<&sol;a>&period; Both the &commat;Ordered annotation and Ordered interface are supported&period;<&sol;li>&NewLine;<li class&equals;"listitem">The &commat;Lazy annotation can now be used on injection points&comma; as well as &commat;Bean definitions&period;<&sol;li>&NewLine;<li class&equals;"listitem">The <a class&equals;"link" title&equals;"Bean description" href&equals;"http&colon;&sol;&sol;docs&period;spring&period;io&sol;spring&sol;docs&sol;4&period;0&period;0&period;RELEASE&sol;spring-framework-reference&sol;htmlsingle&sol;&num;beans-java-bean-description" target&equals;"&lowbar;blank" rel&equals;"noopener">&commat;Description annotation has been added<&sol;a> for developers using Java-based configuration&period;<&sol;li>&NewLine;<li class&equals;"listitem">A generalized model for <a class&equals;"link" title&equals;"Conditionally including &commat;Configuration classes or &commat;Beans" href&equals;"http&colon;&sol;&sol;docs&period;spring&period;io&sol;spring&sol;docs&sol;4&period;0&period;0&period;RELEASE&sol;spring-framework-reference&sol;htmlsingle&sol;&num;beans-java-conditional" target&equals;"&lowbar;blank" rel&equals;"noopener">conditionally filtering beans<&sol;a> has been added via the &commat;Conditional annotation&period; This is similar to &commat;Profile but allows for user-defined strategies to be developed&period;<&sol;li>&NewLine;<li class&equals;"listitem"><a class&equals;"link" title&equals;"9&period;5&period;3 JDK- and CGLIB-based proxies" href&equals;"http&colon;&sol;&sol;docs&period;spring&period;io&sol;spring&sol;docs&sol;4&period;0&period;0&period;RELEASE&sol;spring-framework-reference&sol;htmlsingle&sol;&num;aop-pfb-proxy-types" target&equals;"&lowbar;blank" rel&equals;"noopener">CGLIB-based proxy classes<&sol;a> no longer require a default constructor&period; Support is provided via the <a class&equals;"ulink" href&equals;"http&colon;&sol;&sol;code&period;google&period;com&sol;p&sol;objenesis&sol;" target&equals;"&lowbar;blank" rel&equals;"noopener">objenesis<&sol;a> library which is repackaged <i>inline<&sol;i> and distributed as part of the Spring Framework&period; With this strategy&comma; no constructor at all is being invoked for proxy instances anymore&period;<&sol;li>&NewLine;<li class&equals;"listitem">There is managed time zone support across the framework now&comma; e&period;g&period; on LocaleContext&period;<&sol;li>&NewLine;<&sol;ul>&NewLine;<&sol;div>&NewLine;<p><b>6&period; General Web Improvements<&sol;b><br &sol;>&NewLine;Deployment to Servlet 2&period;5 servers remains an option&comma; but Spring Framework 4&period;0 is now focused primarily on Servlet 3&period;0&plus; environments&period; If you are using the Spring MVC Test Framework you will need to ensure that a Servlet 3&period;0 compatible JAR is in your test classpath&period;<&sol;p>&NewLine;<p>In addition to the WebSocket support mentioned later&comma; the following general improvements have been made to Spring’s Web modules&colon;<&sol;p>&NewLine;<ul style&equals;"text-align&colon; left&semi;">&NewLine;<li>You can use the new <i><b>&commat;RestController<&sol;b><&sol;i> annotation with Spring MVC applications&comma; removing the need to add <i><b>&commat;ResponseBody<&sol;b><&sol;i> to each of your <b><i>&commat;RequestMapping<&sol;i><&sol;b> methods&period;<&sol;li>&NewLine;<li>The <b><i>AsyncRestTemplate <&sol;i><&sol;b>class has been added&comma; allowing non-blocking asynchronous support when developing REST clients&period;<&sol;li>&NewLine;<li>Spring now offers comprehensive timezone support when developing Spring MVC applications&period;<&sol;li>&NewLine;<&sol;ul>&NewLine;<p><b>7&period; WebSocket&comma; SockJS&comma; and STOMP Messaging<&sol;b><br &sol;>&NewLine;A new spring-websocket module provides comprehensive support for WebSocket-based&comma; two-way communication between client and server in web applications&period; It is compatible with JSR-356&comma; the Java WebSocket API&comma; and in addition provides SockJS-based fallback options &lpar;i&period;e&period; WebSocket emulation&rpar; for use in browsers that don’t yet support the WebSocket protocol &lpar;e&period;g&period; Internet Explorer &lt&semi; 10&rpar;&period;<&sol;p>&NewLine;<p>A new spring-messaging module adds support for STOMP as the <i><b>WebSocket <&sol;b><&sol;i>sub-protocol to use in applications along with an annotation programming model for routing and processing STOMP messages from <i><b>WebSocket <&sol;b><&sol;i>clients&period; As a result an <b><i>&commat;Controller<&sol;i><&sol;b> can now contain both <b><i>&commat;RequestMapping<&sol;i><&sol;b> and <i><b>&commat;MessageMapping<&sol;b><&sol;i> methods for handling HTTP requests and messages from WebSocket-connected clients&period; The new spring-messaging module also contains key abstractions from the Spring Integration project such as <i><b>Message&comma; MessageChannel&comma; MessageHandler<&sol;b><&sol;i>&comma; and others to serve as a foundation for messaging-based applications&period;<&sol;p>&NewLine;<p><b>8&period; Testing Improvements<&sol;b><br &sol;>&NewLine;In addition to pruning of deprecated code within the spring-test module&comma; Spring Framework 4&period;0 introduces several new features for use in unit and integration testing&period;<&sol;p>&NewLine;<p>&nbsp&semi;<&sol;p>&NewLine;<ul style&equals;"text-align&colon; left&semi;">&NewLine;<li>Almost all annotations in the spring-test module &lpar;e&period;g&period;&comma; <i>&commat;ContextConfiguration&comma; &commat;WebAppConfiguration&comma; &commat;ContextHierarchy&comma; &commat;ActiveProfiles&comma; etc&period;<&sol;i>&rpar; can now be used as meta-annotations to create custom composed annotations and reduce configuration duplication across a test suite&period;<&sol;li>&NewLine;<li>Active bean definition profiles can now be resolved programmatically&comma; simply by implementing a custom <i><b>ActiveProfilesResolver <&sol;b><&sol;i>and registering it via the resolver attribute of <i>&commat;ActiveProfiles<&sol;i>&period;<&sol;li>&NewLine;<li>A new <b><i>SocketUtils <&sol;i><&sol;b>class has been introduced in the spring-core module which enables you to scan for free TCP and UDP server ports on localhost&period; This functionality is not specific to testing but can prove very useful when writing integration tests that require the use of sockets&comma; for example tests that start an in-memory SMTP server&comma; FTP server&comma; Servlet container&comma; etc&period;<&sol;li>&NewLine;<li>As of Spring 4&period;0&comma; the set of mocks in the <i>org&period;springframework&period;mock&period;web<&sol;i> package is now based on the Servlet 3&period;0 API&period; Furthermore&comma; several of the Servlet API mocks &lpar;e&period;g&period;&comma; <b>MockHttpServletRequest<&sol;b>&comma; <b>MockServletContext<&sol;b>&comma; etc&period;&rpar; have been updated with minor enhancements and improved configurability&period;<&sol;li>&NewLine;<&sol;ul>&NewLine;<&sol;div>&NewLine;<p>&nbsp&semi;<&sol;p>&NewLine;<div style&equals;"background-color&colon; &num;f2f9fc&semi; border-radius&colon; 3px&semi; border&colon; 1px solid &num;c9e6f2&semi; line-height&colon; 1&period;45&semi; padding&colon; 16px&semi;">&NewLine;<span style&equals;"color&colon; red&semi; font-size&colon; x-large&semi; text-align&colon; center&semi;"><b>Spring Related Topics you may like<&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;interview-questions-on-spring&sol;"><span style&equals;"color&colon; red&semi;">Spring Interview Questions and Answers<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-aop-interview-questions-and-answers&sol;"><span style&equals;"color&colon; red&semi;">Spring AOP Interview Questions and Answers<&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;spring-security-interview-questions-and-answers&sol;"><span style&equals;"color&colon; red&semi;">Spring Security Interview Questions and Answers<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-rest-web-services-interview-questions-and-answers&sol;"><span style&equals;"color&colon; red&semi;">Spring REST Interview Questions and Answers<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-boot-interview-questions-and-answers&sol;"><span style&equals;"color&colon; red&semi;">Spring Boot Interview Questions and Answers<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-boot-microservices-interview-questions-answers&sol;"><span style&equals;"color&colon; red&semi;">Spring Boot Microservices Interview Questions and Answers<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;dependency-injection-in-spring&sol;"><span style&equals;"color&colon; red&semi;">Dependency Injection &lpar;DI&rpar; in Spring <&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-ioc-container&sol;"><span style&equals;"color&colon; red&semi;">Spring IoC Container<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;what-is-bean-factory-in-spring&sol;"><span style&equals;"color&colon; red&semi;">What is Bean Factory in Spring<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;application-context-in-spring&sol;"><span style&equals;"color&colon; red&semi;">ApplicationContext in Spring<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;bean-autowiring-in-spring&sol;"><span style&equals;"color&colon; red&semi;">Bean Autowiring in Spring<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;understanding-bean-scopes&sol;"><span style&equals;"color&colon; red&semi;">Spring Bean Scopes<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;create-custom-bean-scope-in-spring-example&sol;"><span style&equals;"color&colon; red&semi;">Create Custom Bean Scope in Spring Example<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;using-applicationcontextaware-in-spring&sol;"><span style&equals;"color&colon; red&semi;">Using ApplicationContextAware in Spring<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;bean-lifecycle-and-callbacks&sol;"><span style&equals;"color&colon; red&semi;">Spring Bean Life Cycle and Callbacks<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;writing-beanpostprocessor-in-spring&sol;"><span style&equals;"color&colon; red&semi;">BeanPostProcessor in Spring<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;writing-beanfactorypostprocessor-in&sol;"><span style&equals;"color&colon; red&semi;">BeanFactoryPostProcessor in Spring<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;annotations-in-spring-and-based&sol;"><span style&equals;"color&colon; red&semi;"> Annotations in Spring and Based Configuration<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-jsr-250-annotations&sol;"><span style&equals;"color&colon; red&semi;">Spring JSR-250 Annotations<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;jsr-330-annotations-in-spring&sol;"><span style&equals;"color&colon; red&semi;">JSR 330 Annotations in Spring<&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 &commat;Component&comma; &commat;Repository&comma; &commat;Service and &commat;Controller Stereotype Annotations<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;method-injection-with-spring-using-lookup-method-property&sol;"><span style&equals;"color&colon; red&semi;">Method injection with Spring using Lookup method property<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;introduction-to-aop-in-spring&sol;"><span style&equals;"color&colon; red&semi;">Spring AOP-Introduction to Aspect Oriented Programming<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-aspect-annotation&sol;"><span style&equals;"color&colon; red&semi;">&commat;Aspect Annotation in Spring<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-aop-aspectj-before-annotation-advice-example&sol;"><span style&equals;"color&colon; red&semi;"> Spring AOP AspectJ &commat;Before Annotation Advice Example<br &sol;>&NewLine;<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-aop-before-advice-example-using-xml-config&sol;"><span style&equals;"color&colon; red&semi;"> Spring AOP Before Advice Example using XML Config<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-aop-aspectj-after-annotation-advice-example&sol;"><span style&equals;"color&colon; red&semi;"> Spring AOP AspectJ &commat;After Annotation Advice Example<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-aop-after-advice-example-using-xml-config&sol;"><span style&equals;"color&colon; red&semi;"> Spring AOP After Advice Example using XML Config<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-aop-aspectj-after-returning-annotation-advice-example&sol;"><span style&equals;"color&colon; red&semi;"> Spring AOP AspectJ &commat;AfterReturning Annotation Advice Example<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-aop-after-returning-advice-example-using-xml-config&sol;"><span style&equals;"color&colon; red&semi;"> Spring AOP After-Returning Advice Example using XML Config<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-aop-aspectj-after-throwing-annotation-advice-example&sol;"><span style&equals;"color&colon; red&semi;"> Spring AOP AspectJ &commat;AfterThrowing Annotation Advice Example<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-aop-after-throwing-advice-example-using-xml-config&sol;"><span style&equals;"color&colon; red&semi;"> Spring AOP After Throwing Advice Example using XML Config<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-aop-aspectj-around-annotation-advice-example&sol;"><span style&equals;"color&colon; red&semi;"> Spring AOP AspectJ &commat;Around Annotation Advice Example<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-aop-around-advice-example-using-xml-config&sol;"><span style&equals;"color&colon; red&semi;"> Spring AOP Around Advice Example using XML Config<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;understanding-aop-proxies-chapter-31&sol;"><span style&equals;"color&colon; red&semi;">Spring AOP Proxies in Spring<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-aop-transaction-management-in&sol;"><span style&equals;"color&colon; red&semi;"> Spring AOP Transaction Management in Hibernate<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;transaction-management-in-spring&sol;"><span style&equals;"color&colon; red&semi;">Spring Transaction Management<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;declarative-transaction-management&sol;"><span style&equals;"color&colon; red&semi;">Spring Declarative Transaction Management Example<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-aop-ordering-of-aspects-with-example&sol;"><span style&equals;"color&colon; red&semi;">Spring AOP-Ordering of Aspects 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-security-java-based-configuration-with-example&sol;"><span style&equals;"color&colon; red&semi;">Spring Security Java Based Configuration 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-security-xml-namespace-configuration-example&sol;"><span style&equals;"color&colon; red&semi;">Spring Security XML Namespace Configuration Example<&sol;span><&sol;a><&sol;b><&sol;li>&NewLine;<p><&sol;span><&sol;ol>&NewLine;<&sol;div>&NewLine;<p>&nbsp&semi;<&sol;p>&NewLine;<div style&equals;"background-color&colon; pink&semi; border-width&colon; thin&semi; text-align&colon; center&semi;"><b>&lt&semi;&lt&semi;<a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-4-tutorials-step-to-new-spring&sol;">Previous<&sol;a> &lt&semi;&lt&semi;   &vert;&vert; <a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-4-tutorials-step-to-new-spring&sol;">Index <&sol;a>&vert;&vert;   &gt&semi;&gt&semi;<a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;environment-setup-for-spring-framework&sol;" target&equals;"&lowbar;blank" rel&equals;"noopener">Next<&sol;a> &gt&semi;&gt&semi;<&sol;b><&sol;div>&NewLine;<p>&nbsp&semi;<&sol;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-4-tutorials-step-to-new-spring&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;environment-setup-for-spring-framework&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; '236'&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