jQuery in Action, 3rd edition
The moose likes Spring and the fly likes Bean getting initialised everytime, why ? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of REST with Spring (video course) this week in the Spring forum!
JavaRanch » Java Forums » Frameworks » Spring
Bookmark "Bean getting initialised everytime, why ?" Watch "Bean getting initialised everytime, why ?" New topic

Bean getting initialised everytime, why ?

Rahul Shivsharan
Ranch Hand

Joined: Jun 17, 2009
Posts: 83

Emplyee interface

PermanentEmpl.java ,







now when i run MainPractise15.java, the commandline output is

now if i add attribute as follows

and if i run the main class MainPractise15.java, the output is

Now my question is why ManagerSer is initialized 3 times in first scenario and 2 times in second scenario ?
Mark Spritzler

Joined: Feb 05, 2001
Posts: 17276

You have three beans of that type. You are also using Bean Definition inheritence in your configuration. In the first example, the parent <bean> tag get a bean instantiated as well as the other two. In your second version for the parent bean you used the attribute abstract="true", which tells Spring not to instantiate that bean, but just use the bean configuration for the other two. This is the same as creating a parent Java class as abstract or not.

public abstract class Car

public class Honda extends Car

public class Toyota extends Car

in that hierarchy I can only instantiate Honda and Toyota, not Car because it is abstract. It works the same way with <bean> tags if you have <bean abstract="true"> then Spring can't instantiate that bean.


Perfect World Programming, LLC - iOS Apps
How to Ask Questions the Smart Way FAQ
subject: Bean getting initialised everytime, why ?
It's not a secret anymore!