Dependency Injection by Constructor Example
We can inject the dependency by constructor. The <constructor-arg> subelement of <bean> is used for constructor injection. Here we are going to inject
Injecting primitive and string-based values
Let's see the simple example to inject primitive and string-based values. We have created three files here:
It is a simple class containing two fields id and name. There are four constructors and one method in this class.applicationContext.xml
We are providing the information into the bean by this file. The constructor-arg element invokes the constructor. In such case, parameterized constructor of int type will be invoked. The value attribute of constructor-arg element will assign the specified value. The type attribute specifies that int parameter constructor will be invoked.Test.java
This class gets the bean from the applicationContext.xml file and calls the show method.
Injecting string-based values
If you don't specify the type attribute in the constructor-arg element, by default string type constructor will be invoked.
If you change the bean element as given above, string parameter constructor will be invoked and the output will be 0 10.
You may also pass the string literal as following:
You may pass integer literal and string both as following
download this example (developed using Myeclipse IDE)
download this example (developed using Eclipse IDE)