Click here to watch on Youtube:
https://www.youtube.com/watch?v=DdQy0raenwI&list=UUhwKlOVR041tngjerWxVccw
Click the below Image to Enlarge:
pom.xml
Employee.java
applicationContext.xml
App.java
Output
Click the below link to download the code:
https://sites.google.com/site/ramj2eev2/java_basics/SpringDemo_PostConstruct_PreDestroy.zip?attredirects=0&d=1
Github Link:
https://github.com/ramram43210/javaee/tree/master/Spring_2018/SpringDemo_PostConstruct_PreDestroy
Bitbucket Link:
https://bitbucket.org/ramram43210/spring/src/924507f5515578f632825f98c99b1cb6c7d7a7be/Spring_2018/SpringDemo_PostConstruct_PreDestroy/?at=master
See also:
All JavaEE Videos Playlist
All JavaEE Videos
All JAVA EE Links
Spring Tutorial
Servlets Tutorial
All Design Patterns Links
JDBC Tutorial
Java Collection Framework Tutorial
JAVA Tutorial
Kids Tutorial
Cooking Tutorial
https://www.youtube.com/watch?v=DdQy0raenwI&list=UUhwKlOVR041tngjerWxVccw
Click the below Image to Enlarge:
Spring Bean Life Cycle - Spring @PostConstruct and @PreDestroy Annotations | Spring Tutorial |
Spring Bean Life Cycle - Spring @PostConstruct and @PreDestroy Annotations | Spring Tutorial |
Spring Bean Life Cycle - Spring @PostConstruct and @PreDestroy Annotations | Spring Tutorial |
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0%20http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ram.core</groupId>
<artifactId>SpringDemo</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>SpringDemo</name>
<url>http://maven.apache.org</url>
<properties>
<spring.version>5.0.2.RELEASE</spring.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- Spring 5 dependencies -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
</dependencies>
</project>
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0%20http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ram.core</groupId>
<artifactId>SpringDemo</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>SpringDemo</name>
<url>http://maven.apache.org</url>
<properties>
<spring.version>5.0.2.RELEASE</spring.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- Spring 5 dependencies -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
</dependencies>
</project>
Employee.java
package com.ram.model;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
public class Employee
{
private int id;
private String name;
public int getId()
{
return id;
}
public void setId(int id)
{
this.id = id;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
@PostConstruct
public void init() throws Exception
{
System.out.println("inside Init method after properties are set. ");
}
@PreDestroy
public void cleanUp() throws Exception
{
System.out.println("Inside cleanUp(), Performed clean up tasks.");
}
@Override
public String toString()
{
return "Employee [id=" + id + ", name=" + name + "]";
}
}
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
public class Employee
{
private int id;
private String name;
public int getId()
{
return id;
}
public void setId(int id)
{
this.id = id;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
@PostConstruct
public void init() throws Exception
{
System.out.println("inside Init method after properties are set. ");
}
@PreDestroy
public void cleanUp() throws Exception
{
System.out.println("Inside cleanUp(), Performed clean up tasks.");
}
@Override
public String toString()
{
return "Employee [id=" + id + ", name=" + name + "]";
}
}
applicationContext.xml
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.3.xsd">
<bean id="employee" class="com.ram.model.Employee" >
<property name="id" value="100"></property>
<property name="name" value="Peter"></property>
</bean>
<context:annotation-config />
</beans>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.3.xsd">
<bean id="employee" class="com.ram.model.Employee" >
<property name="id" value="100"></property>
<property name="name" value="Peter"></property>
</bean>
<context:annotation-config />
</beans>
App.java
package com.ram.core;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.ram.model.Employee;
public class App
{
public static void main(String[] args)
{
ConfigurableApplicationContext context = new ClassPathXmlApplicationContext(
"applicationContext.xml");
System.out.println("---------------------------------------");
Employee employee = context.getBean("employee", Employee.class);
System.out.println(
"Got employee object from the ApplicationContext(Spring Container)");
System.out.println(employee);
context.close();
}
}
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.ram.model.Employee;
public class App
{
public static void main(String[] args)
{
ConfigurableApplicationContext context = new ClassPathXmlApplicationContext(
"applicationContext.xml");
System.out.println("---------------------------------------");
Employee employee = context.getBean("employee", Employee.class);
System.out.println(
"Got employee object from the ApplicationContext(Spring Container)");
System.out.println(employee);
context.close();
}
}
Output
Aug 07, 2018 10:27:26 AM org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@5b37e0d2: startup date [Tue Aug 07 10:27:26 IST 2018]; root of context hierarchy
Aug 07, 2018 10:27:26 AM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [applicationContext.xml]
inside Init method after properties are set.
---------------------------------------
Got employee object from the ApplicationContext(Spring Container)
Employee [id=100, name=Peter]
Aug 07, 2018 10:27:26 AM org.springframework.context.support.AbstractApplicationContext doClose
INFO: Closing org.springframework.context.support.ClassPathXmlApplicationContext@5b37e0d2: startup date [Tue Aug 07 10:27:26 IST 2018]; root of context hierarchy
Inside cleanUp(), Performed clean up tasks.
INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@5b37e0d2: startup date [Tue Aug 07 10:27:26 IST 2018]; root of context hierarchy
Aug 07, 2018 10:27:26 AM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [applicationContext.xml]
inside Init method after properties are set.
---------------------------------------
Got employee object from the ApplicationContext(Spring Container)
Employee [id=100, name=Peter]
Aug 07, 2018 10:27:26 AM org.springframework.context.support.AbstractApplicationContext doClose
INFO: Closing org.springframework.context.support.ClassPathXmlApplicationContext@5b37e0d2: startup date [Tue Aug 07 10:27:26 IST 2018]; root of context hierarchy
Inside cleanUp(), Performed clean up tasks.
Click the below link to download the code:
https://sites.google.com/site/ramj2eev2/java_basics/SpringDemo_PostConstruct_PreDestroy.zip?attredirects=0&d=1
Github Link:
https://github.com/ramram43210/javaee/tree/master/Spring_2018/SpringDemo_PostConstruct_PreDestroy
Bitbucket Link:
https://bitbucket.org/ramram43210/spring/src/924507f5515578f632825f98c99b1cb6c7d7a7be/Spring_2018/SpringDemo_PostConstruct_PreDestroy/?at=master
See also:
Thanks for sharing this Informative content. Well explained. Got to learn new things from your Blog java training
ReplyDelete