Skip to content

Commit cc6af04

Browse files
author
ranji
committed
up
1 parent 7b3d29c commit cc6af04

37 files changed

+487
-73
lines changed

springcore-beans/README.md

+10-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
1-
## TOOLS & TECHNOLOGIES
1+
### TOOLS & TECHNOLOGIES
22
1. Java 1.8
33
2. Spring Framework
44

5-
## TOPICS COVERED
6-
1.
5+
### TOPICS/CONCEPTS COVERED
6+
1. BeanFactoryAware
7+
2. BeanNameAware
8+
3. DisposableBean Concept
9+
4. BeanPostProcessor
10+
5. Bean scopes
711

8-
## STEPS to run Application
12+
### HOW TO RUN?
13+
1. Run As Java Application
14+
2. Run As JUnit Testcase

springcore-beans/src/main/java/jbr/springbeans/aware/BeanFactoryAwareMain.java renamed to springcore-beans/src/main/java/jbr/springcore/bean/aware/BeanFactoryAwareMain.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
package jbr.springbeans.aware;
1+
package jbr.springcore.bean.aware;
22

33
import org.springframework.context.support.AbstractApplicationContext;
44
import org.springframework.context.support.ClassPathXmlApplicationContext;
55

6-
import jbr.springbeans.model.Cycle;
6+
import jbr.springcore.model.Cycle;
77

88
public class BeanFactoryAwareMain {
99

springcore-beans/src/main/java/jbr/springbeans/aware/BeanNameAwareMain.java renamed to springcore-beans/src/main/java/jbr/springcore/bean/aware/BeanNameAwareMain.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
package jbr.springbeans.aware;
1+
package jbr.springcore.bean.aware;
22

33
import org.springframework.context.support.AbstractApplicationContext;
44
import org.springframework.context.support.ClassPathXmlApplicationContext;
55

6-
import jbr.springbeans.model.Train;
6+
import jbr.springcore.model.Train;
77

88
public class BeanNameAwareMain {
99

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package jbr.springcore.bean.disposable;
2+
3+
import org.springframework.beans.factory.DisposableBean;
4+
import org.springframework.beans.factory.InitializingBean;
5+
6+
public class MyDisposableBean implements InitializingBean, DisposableBean {
7+
8+
@Override
9+
public void destroy() throws Exception {
10+
System.out.println("MyDisposableBean: in destory");
11+
}
12+
13+
@Override
14+
public void afterPropertiesSet() throws Exception {
15+
System.out.println("MyDisposableBean: in afterPropertiesSet");
16+
}
17+
18+
private String greetings;
19+
20+
public String getGreetings() {
21+
return greetings;
22+
}
23+
24+
public void setGreetings(String greetings) {
25+
this.greetings = greetings;
26+
}
27+
28+
}

springcore-beans/src/main/java/jbr/springbeans/methods/SpringBeanInitDestroy.java renamed to springcore-beans/src/main/java/jbr/springcore/bean/methods/SpringBeanInitDestroy.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
package jbr.springbeans.methods;
1+
package jbr.springcore.bean.methods;
22

33
import org.springframework.context.support.AbstractApplicationContext;
44
import org.springframework.context.support.ClassPathXmlApplicationContext;
55

6-
import jbr.springbeans.model.Car;
6+
import jbr.springcore.model.Car;
77

88
/**
99
* An example for Spring Init and Destory methods.

springcore-beans/src/main/java/jbr/springbeans/methods/SpringBeanMethods.java renamed to springcore-beans/src/main/java/jbr/springcore/bean/methods/SpringBeanMethods.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
package jbr.springbeans.methods;
1+
package jbr.springcore.bean.methods;
22

33
import org.springframework.context.support.AbstractApplicationContext;
44
import org.springframework.context.support.ClassPathXmlApplicationContext;
55

6-
import jbr.springbeans.model.Bike;
6+
import jbr.springcore.model.Bike;
77

88
/**
99
* An example for Spring Bean Methods.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package jbr.springcore.bean.postprocessor;
2+
3+
public class Email {
4+
5+
private String message;
6+
7+
public String getMessage() {
8+
return message;
9+
}
10+
11+
public void setMessage(String message) {
12+
this.message = message;
13+
}
14+
15+
public void init() {
16+
System.out.println("Email: Init..");
17+
}
18+
19+
public void destroy() {
20+
System.out.println("Email: destroy...");
21+
}
22+
23+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package jbr.springcore.bean.postprocessor;
2+
3+
import org.springframework.beans.BeansException;
4+
import org.springframework.beans.factory.config.BeanPostProcessor;
5+
6+
public class MyBeanPostProcessor implements BeanPostProcessor {
7+
8+
@Override
9+
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
10+
System.out.println("Post Process After Initialization: " + beanName);
11+
return bean;
12+
}
13+
14+
@Override
15+
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
16+
System.out.println("Post Process Before Initialization: " + beanName);
17+
return bean;
18+
}
19+
20+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package jbr.springcore.bean.scope;
2+
3+
import org.springframework.context.ApplicationContext;
4+
import org.springframework.context.support.ClassPathXmlApplicationContext;
5+
6+
import jbr.springcore.model.PersonVO;
7+
8+
public class BeanScope {
9+
10+
public static void main(String[] args) {
11+
ApplicationContext classPathContext = new ClassPathXmlApplicationContext("spring-beans.xml");
12+
PersonVO person1 = (PersonVO) classPathContext.getBean("person");
13+
person1.setName("Ranjith");
14+
System.out.println("PersonVO1 Name: " + person1.getName());
15+
16+
PersonVO person2 = (PersonVO) classPathContext.getBean("person");
17+
//person2.setName("Sekar");
18+
System.out.println("PersonVO2 Name: " + person2.getName());
19+
20+
}
21+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package jbr.springcore.bean.scope;
2+
3+
import org.springframework.context.ApplicationContext;
4+
import org.springframework.context.support.ClassPathXmlApplicationContext;
5+
6+
import jbr.springcore.model.PersonAnno;
7+
8+
public class BeanScopeAnno {
9+
10+
public static void main(String[] args) {
11+
ApplicationContext classPathContext = new ClassPathXmlApplicationContext("spring-beans.xml");
12+
PersonAnno person1 = (PersonAnno) classPathContext.getBean("personAnno");
13+
person1.setName("Ranjith");
14+
System.out.println("Person1 Name: " + person1.getName());
15+
16+
PersonAnno person2 = (PersonAnno) classPathContext.getBean("personAnno");
17+
System.out.println("Person2 Name: " + person2.getName());
18+
}
19+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package jbr.springcore.bean.scope;
2+
3+
public class JavaSingleton {
4+
5+
private static JavaSingleton javaSingleton;
6+
7+
public static JavaSingleton getInstance() {
8+
9+
if (null != javaSingleton) {
10+
return javaSingleton;
11+
} else {
12+
javaSingleton = new JavaSingleton();
13+
}
14+
15+
return javaSingleton;
16+
}
17+
18+
private JavaSingleton() {
19+
}
20+
21+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package jbr.springcore.bean.scope;
2+
3+
import org.springframework.context.ApplicationContext;
4+
import org.springframework.context.support.ClassPathXmlApplicationContext;
5+
6+
import jbr.springcore.model.PersonVO;
7+
8+
public class PersonMain {
9+
10+
ApplicationContext applicationContext;
11+
PersonVO person1;
12+
PersonVO person2;
13+
14+
PersonMain() {
15+
applicationContext = new ClassPathXmlApplicationContext("beanscopes-beans.xml");
16+
person1 = (PersonVO) applicationContext.getBean("person");
17+
System.out.println("Person 1 Object HashCode: " + person1.hashCode());
18+
19+
person2 = (PersonVO) applicationContext.getBean("person");
20+
System.out.println("Person 2 Object HashCode: " + person2.hashCode());
21+
22+
}
23+
24+
public static void main(String[] args) {
25+
PersonMain main = new PersonMain();
26+
}
27+
28+
}

springcore-beans/src/main/java/jbr/springbeans/scopes/SpringBeanScopes.java renamed to springcore-beans/src/main/java/jbr/springcore/bean/scope/SpringBeanScopes.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
package jbr.springbeans.scopes;
1+
package jbr.springcore.bean.scope;
22

33
import org.springframework.context.ApplicationContext;
44
import org.springframework.context.support.ClassPathXmlApplicationContext;
55

6-
import jbr.springbeans.model.Person;
6+
import jbr.springcore.model.Person;
77

88
/**
99
* An example program to test Spring Singleton.

springcore-beans/src/main/java/jbr/springbeans/scopes/SpringSingleton.java renamed to springcore-beans/src/main/java/jbr/springcore/bean/scope/SpringSingleton.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
package jbr.springbeans.scopes;
1+
package jbr.springcore.bean.scope;
22

33
import org.springframework.context.ApplicationContext;
44
import org.springframework.context.support.ClassPathXmlApplicationContext;
55

6-
import jbr.springbeans.model.Person;
6+
import jbr.springcore.model.Person;
77

88
/**
99
* An example program for testing Spring Singleton. Singleton maintained for
@@ -15,13 +15,13 @@
1515
public class SpringSingleton {
1616

1717
public static void main(String[] args) {
18-
ApplicationContext applicationContext1 = new ClassPathXmlApplicationContext("springbeans-beanscopes.xml");
18+
ApplicationContext applicationContext1 = new ClassPathXmlApplicationContext("springbeans-scopes.xml");
1919
Person person1 = (Person) applicationContext1.getBean("person");
2020
System.out.println("applicationContext1 Person1 Object HashCode: " + person1.hashCode());
2121
Person person2 = (Person) applicationContext1.getBean("person");
2222
System.out.println("applicationContext1 Person2 Object HashCode: " + person2.hashCode());
2323

24-
ApplicationContext applicationContext2 = new ClassPathXmlApplicationContext("springbeans-beanscopes.xml");
24+
ApplicationContext applicationContext2 = new ClassPathXmlApplicationContext("springbeans-scopes.xml");
2525
person1 = (Person) applicationContext2.getBean("person");
2626
System.out.println("applicationContext2 Person1 Object HashCode: " + person1.hashCode());
2727
person2 = (Person) applicationContext2.getBean("person");

springcore-beans/src/main/java/jbr/springbeans/model/Address.java renamed to springcore-beans/src/main/java/jbr/springcore/model/Address.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package jbr.springbeans.model;
1+
package jbr.springcore.model;
22

33
/**
44
* Address Model Object.

springcore-beans/src/main/java/jbr/springbeans/model/Bike.java renamed to springcore-beans/src/main/java/jbr/springcore/model/Bike.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package jbr.springbeans.model;
1+
package jbr.springcore.model;
22

33
/**
44
* Person Model Object.

springcore-beans/src/main/java/jbr/springbeans/model/Car.java renamed to springcore-beans/src/main/java/jbr/springcore/model/Car.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package jbr.springbeans.model;
1+
package jbr.springcore.model;
22

33
import org.springframework.beans.factory.DisposableBean;
44
import org.springframework.beans.factory.InitializingBean;

springcore-beans/src/main/java/jbr/springbeans/model/Cycle.java renamed to springcore-beans/src/main/java/jbr/springcore/model/Cycle.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package jbr.springbeans.model;
1+
package jbr.springcore.model;
22

33
import org.springframework.beans.BeansException;
44
import org.springframework.beans.factory.BeanFactory;

springcore-beans/src/main/java/jbr/springbeans/model/Name.java renamed to springcore-beans/src/main/java/jbr/springcore/model/Name.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package jbr.springbeans.model;
1+
package jbr.springcore.model;
22

33
public class Name {
44

springcore-beans/src/main/java/jbr/springbeans/model/Person.java renamed to springcore-beans/src/main/java/jbr/springcore/model/Person.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package jbr.springbeans.model;
1+
package jbr.springcore.model;
22

33
/**
44
* Person Model Object.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package jbr.springcore.model;
2+
3+
import org.springframework.context.annotation.Scope;
4+
import org.springframework.stereotype.Service;
5+
6+
@Service
7+
@Scope("prototype")
8+
public class PersonAnno {
9+
10+
private String name;
11+
private int age;
12+
private String address;
13+
14+
public String getName() {
15+
return name;
16+
}
17+
18+
public void setName(String name) {
19+
this.name = name;
20+
}
21+
22+
public int getAge() {
23+
return age;
24+
}
25+
26+
public void setAge(int age) {
27+
this.age = age;
28+
}
29+
30+
public String getAddress() {
31+
return address;
32+
}
33+
34+
public void setAddress(String address) {
35+
this.address = address;
36+
}
37+
38+
}

0 commit comments

Comments
 (0)