Whenever you need, to perform a specific task once after all the Spring Beans are created and the Application Context has been created then you can implement ApplicationRunner or CommandLineRunner interface. Both the interfaces works the same way and has a single run() method. A similar implementation is already there in Spring and many people would have known it JobLauncherCommandLineRunner which is used for running jobs in Spring Batch. [Read more…]
Previously we have learnt how to build a Spring Boot Hello World application using Maven and through Eclipse. In this Spring Boot example we will be building the same hello world application with a slight difference instead of building a executable JAR we will be be building a WAR file. We will be extending SpringBootServletInitializer in order to create deployable WAR file. [Read more…]
In the previous Spring Security Hello World Example, we have built a simple Spring MVC Hello World application and took the advantage of Spring Security by using the default login form provided. In this tutorial we will go a bit further and build our own login for our Spring Security Custom Login Form application.
In this Spring RESTful Web Services example, we will learn how to create a RESTful Web Services directly through Spring Framework rather than creating it through REST implementation such as Jersey. In this article, we will create a REST service which returns XML representation of the Object. [Read more…]
When you happen to work with a Spring MVC Framework based Web application. Then java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener is a common problem which will be occurring during deployment. Spring MVC throws this exception when it is not able to find the “org.springframework.web.context.ContextLoaderListener” class which loads up the all the Spring MVC configuration files and other configuration files which is declared in the web.xml.
<context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/SpringMVC-servlet.xml, /WEB-INF/SpringSecurity.xml </param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
This exception will mostly happen when you start the server [Read more…]
It’s never a good practice to hard code and combine any environment related details such a username, password or file path etc. along with spring bean configuration. Usually in Java we will be having those details written in a separate property file and it will be read during the execution, the same can be followed in the spring as well using PropertyPlaceholderConfigurer.
Spring comes with a bean factory post processor called PropertyPlaceholderConfigurer which allows you to externalize those details into a properties file. In this Spring PropertyPlaceholderConfigurer Example we will learn how to use the PropertyPlaceholderConfigurer. [Read more…]
In Spring we can create bean using Spring FactoryBean, FactoryBean is an interface and we need to give implementations for the methods in it. If you don’t want to go by that methodology but still want Java Factory Pattern to be implemented then we can go for Static Factory Method and Instance Factory Method.
The client who requests for an object can simply make a call to the factory method which we have defined without knowing about the creation detail. We will be using factory-method and factory-bean attribute in our configuration for the Injection of Bean, through the below spring factory pattern example lets learn more about it. [Read more…]
Spring IoC container is also responsible for managing the Spring Bean Life Cycle, the life cycle of beans consist of call back methods such as Post initialization call back method and Pre destruction call back method. Below steps are followed by Spring IoC Container to manage bean life cycle.
Spring Bean Life Cycle
- Creation of bean instance by a factory method.
- Set the values and bean references to the bean properties.
- Call the initialization call back method.
- Bean is ready for use.
- Call the destruction call back method.
Spring Autowiring by using the “autowire” attribute in the bean configuration file we can wire all the properties of the bean class. Using Spring Autowiring through XML you cannot wire a particular property. In those cases we can use the Spring @Autowired annotation which allows auto-wiring of setter method, a constructor, a field, or even an arbitrary method.
For a large-scale application, there can be hundreds of bean declared in the Spring IoC container and managing dependency between them will be already complicated. Especially through Setter Injection we cannot make sure that values for all the properties has been injected. Spring dependency checking feature will come into rescue in this situation which helps us to check if all/ certain property is injected or not. Spring dependency check can be turned on just by adding “dependency-check” attribute of the <bean> tag. [Read more…]