♠ Posted by
Java Tutorials
at
11:49 PM
Page 1|2|3|4
Inversion Of Control (IOC) and Dependency Injection
These
are the design patterns that are used to remove dependency from the programming
code. They make the code easier to test and maintain. Let's understand this
with the following code:
class
Employee{
Address
address;Employee()
{address=new
Address();
}
}
In such
case, there is dependency between the Employee and Address (tight coupling). In
the Inversion of Control scenario, we do this something like this:
class
Employee{
Address
address;
Employee(Address
address){
this.address=address;
}
}
Thus,
IOC makes the code loosely coupled. In such case, there is no need to modify
the code if our logic is moved to new environment.
In
Spring framework, IOC container is responsible to inject the dependency. We
provide metadata to the IOC container either by XML file or annotation.
Advantage of Dependency Injection
·
makes the code loosely coupled so easy to maintain
·
makes the code easy to test
Steps to create spring application
- Steps to
create spring application
Here, we are going to learn the
simple steps to create the first spring application. To run this application,
we are not using any IDE. We are simply using the command prompt. Let's see the
simple steps to create the spring application
§
create the class
§
create the xml file to provide the values
§
create the test class
§
Load the spring jar files
§
Run the test class
Steps to create spring
application
Let's
see the 5 steps to create the first spring application.
1) Create Java class
This is the simple java bean class
containing the name property only.
package org.sample;
public
class Student {
private
String name;
public
String getName() {
return
name;
}
public
void setName(String name) {
this.name = name;
}
public
void displayInfo(){
System.out.println("Hello:
"+name);
}
}
This is
simple bean class, containing only one property name with its getters and
setters method. This class contains one extra method named displayInfo() that
prints the student name by the hello message.
2) Create the xml file
In case
of myeclipse IDE, you don't need to create the xml file as myeclipse does this
for yourselves. Open the applicationContext.xml file, and write the following
code:
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="studentbean" class="org.sample.Student">
<property name="name" value="Venkata"></property>
</bean>
</beans>
The bean element is used to define the bean for the given class. The property subelement of bean specifies the property of the Student class
named name. The value specified in the property element will be set in the
Student class object by the IOC container.
3) Create the test class
Create
the java class e.g. Test. Here we are getting the object of Student class from
the IOC container using the getBean() method of BeanFactory. Let's see the code
of test class.
package org.sample;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
public class Test {
public static void main(String[] args) {
Resource resource=new ClassPathResource("applicationContext.xml");
BeanFactory factory=new XmlBeanFactory(resource);
Student student=(Student)factory.getBean("studentbean");
student.displayInfo();
}
}
The Resource object
represents the information of applicationContext.xml file. The Resource is the
interface and the ClassPathResource is the implementation
class of the Reource interface. TheBeanFactory is responsible to
return the bean. The XmlBeanFactory is the implementation
class of the BeanFactory. There are many methods in the BeanFactory interface.
One method is getBean(), which returns the object of the associated
class.
4) Load the jar files required for spring framework
There
are mainly three jar files required to run this application.
·
org.springframework.core-3.0.1.RELEASE-A
·
com.springsource.org.apache.commons.logging-1.1.1
·
org.springframework.beans-3.0.1.RELEASE-A
For the
future use, You can download the required jar files for spring core
application.
To run this example, you need to load only spring core jar files.
0 comments :
Post a Comment