🎓 Top 15 Udemy Courses (80-90% Discount): My Udemy Courses - Ramesh Fadatare — All my Udemy courses are real-time and project oriented courses.
▶️ Subscribe to My YouTube Channel (178K+ subscribers): Java Guides on YouTube
▶️ For AI, ChatGPT, Web, Tech, and Generative AI, subscribe to another channel: Ramesh Fadatare on YouTube
This guide will explain the important methods/APIs of the Spring ApplicationContext interface with examples.
The ApplicationContext is the central interface within a Spring application for providing configuration information to the application. It is read-only at run time but can be reloaded if necessary and supported by the application. A number of classes implement the ApplicationContext interface, allowing for a variety of configuration options and types of applications.
The ApplicationContext is the central interface within a Spring application for providing configuration information to the application. It is read-only at run time but can be reloaded if necessary and supported by the application. A number of classes implement the ApplicationContext interface, allowing for a variety of configuration options and types of applications.
The ApplicationContext provides:
- Bean factory methods for accessing application components.
- The ability to load file resources in a generic fashion.
- The ability to publish events to registered listeners.
- The ability to resolve messages to support internationalization.
- Inheritance from a parent context.
ApplicationContext Interface Methods
- String getApplicationName() - This method returns a name for the deployed application that this context belongs to.
- AutowireCapableBeanFactory getAutowireCapableBeanFactory() - This method exposes AutowireCapableBeanFactory functionality for this context.
- String getDisplayName() - This method is used to return a friendly name for current context.
- String getId() - This method is used to return the unique id of this application context.
- ApplicationContext getParent() - This method returns the parent context, or null if there is no parent and this is the root of the context hierarchy.
- long getStartupDate() - This method is used to return the timestamp when this context was first loaded.
ApplicationContext Interface Class Diagram Hierarchy
Below diagram shows the ApplicationContext interface hierarchy:
Note that ApplicationContext interface extends ApplicationEventPublisher, BeanFactory, EnvironmentCapable, HierarchicalBeanFactory, ListableBeanFactory, MessageSource, ResourceLoader, ResourcePatternResolver interfaces.
ApplicationContext Interface Methods/APIs with Examples
You can find all ApplicationContext interface methods at https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/ApplicationContext.html.
The below sample code demonstrate the usage of important ApplicationContext interface methods. Note that the comments in below code are self-descriptive:
package net.javaguides.springboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Component;
/**
* Created by Ramesh Fadatare
*/
@SpringBootApplication
public class Application {
public static void main(String[] args) {
// Class that can be used to bootstrap and launch a Spring application from a Java main method.
// By default class will perform the following steps to bootstrap your application:
// Create an appropriate ApplicationContext instance (depending on your classpath)
ApplicationContext applicationContext = SpringApplication.run(Application.class, args);
// Return the bean instance that uniquely matches the given object type, if any.
UserService userService = applicationContext.getBean(UserService.class);
System.out.println(userService.getUserName());
Class < ? > userService2 = applicationContext.getType("userService");
System.out.println(userService2.getName());
// Does this bean factory contain a bean definition or externally
// registered singleton instance with the given name?
boolean hasBean = applicationContext.containsBean("userService");
System.out.println("containsBean userService :: " + hasBean);
// Is this bean a prototype? That is, will getBean always return independent instances?
boolean isPrototype = applicationContext.isPrototype("userService");
System.out.println(" isPrototype :: " + isPrototype);
// Is this bean a shared singleton? That is, will getBean always return the same instance?
boolean isSingleton = applicationContext.isSingleton("userService");
System.out.println(" isSingleton :: " + isSingleton);
// Return an instance, which may be shared or independent, of the specified bean.
UserService userService3 = (UserService) applicationContext.getBean("userService");
System.out.println(userService3.getUserName());
// Find an Annotation of annotationType on the specified bean, traversing its interfaces and
// super classes if no annotation can be found on the given class itself.
Component component = applicationContext.findAnnotationOnBean("userName", Component.class);
System.out.println(" component annotation :: " + component);
// Return the unique id of this application context.
String id = applicationContext.getId();
System.out.println(" Return the unique id of this application context. :: " + id);
// Return a friendly name for this context.
String displayName = applicationContext.getDisplayName();
System.out.println("Return a friendly name for this context :: " + displayName);
// Return a name for the deployed application that this context belongs to.
String appName = applicationContext.getApplicationName();
System.out.println("Return a name for the deployed application that this context belongs to :: " + appName);
// Return the timestamp when this context was first loaded.
long date = applicationContext.getStartupDate();
System.out.println(" Return the timestamp when this context was first loaded :: " + date);
}
}
@Component
class UserService {
public String getUserName() {
return "Spring Boot";
}
}
Check out a complete step by step example of the Spring ApplicationContext interface at https://www.javaguides.net/2019/02/spring-applicationcontext-example.html
References
My Top and Bestseller Udemy Courses. The sale is going on with a 70 - 80% discount. The discount coupon has been added to each course below:
Build REST APIs with Spring Boot 4, Spring Security 7, and JWT
🆕 High-Demand
80–90% OFF
[NEW] Learn Apache Maven with IntelliJ IDEA and Java 25
🆕 High-Demand
80–90% OFF
ChatGPT + Generative AI + Prompt Engineering for Beginners
🚀 Trending Now
80–90% OFF
Spring 7 and Spring Boot 4 for Beginners (Includes 8 Projects)
🔥 Bestseller
80–90% OFF
Available in Udemy for Business
Available in Udemy for Business
Building Real-Time REST APIs with Spring Boot - Blog App
🔥 Bestseller
80–90% OFF
Available in Udemy for Business
Available in Udemy for Business
Building Microservices with Spring Boot and Spring Cloud
🌟 Top Rated
80–90% OFF
Available in Udemy for Business
Available in Udemy for Business
Java Full-Stack Developer Course with Spring Boot and React JS
🔥 Bestseller
80–90% OFF
Available in Udemy for Business
Available in Udemy for Business
Build 5 Spring Boot Projects with Java: Line-by-Line Coding
🌟 Top Rated
80–90% OFF
Testing Spring Boot Application with JUnit and Mockito
🔥 Bestseller
80–90% OFF
Available in Udemy for Business
Available in Udemy for Business
Spring Boot Thymeleaf Real-Time Web Application - Blog App
🔥 Bestseller
80–90% OFF
Available in Udemy for Business
Available in Udemy for Business
Master Spring Data JPA with Hibernate
🔥 Bestseller
80–90% OFF
Available in Udemy for Business
Available in Udemy for Business
Spring Boot + Apache Kafka Course - The Practical Guide
🎓 Student Favorite
80–90% OFF
Available in Udemy for Business
Available in Udemy for Business

Comments
Post a Comment
Leave Comment