Hints
Below is an example of "How to use javax.inject.Provider in Java DI with Spring Example"
|
Step.1 Start a Java Project with required jars
- Open Eclipse
- Click on menu New -> Others
- In wizards type "Java Project" and Select "Java Project"
- Click Next
- Enter project name as "InjectJavaAnnotation", then click Next
- Goto Libraries tab, then click on Add External JARs, then select Spring's 21 Framework Jars javax.inject-1.jar and commons-logging-1.1.jar.
- Click Finish.
|
Step.2 Project Explorer Preview
|
<?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:context="http://www.springframework.org/schema/context"
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
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:annotation-config />
<bean id="student" class="Student" scope="prototype" />
<bean id="studentHolderBean" class="StudentHolder" />
</beans>
|
import java.util.HashSet;
import java.util.Set;
import javax.inject.Inject;
import javax.inject.Provider;
public class StudentHolder {
private Set student = new HashSet();
@Inject
public StudentHolder(Provider studentProvider){
for (int i=1;i getStudent() {
return student;
}
public void setStudent(Set student) {
this.student = student;
}
}
|
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class SpringRunner {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("bean-configuration.xml");
StudentHolder stu = (StudentHolder) context.getBean("studentHolderBean");
System.out.println(stu.getStudent());
}
}
|
public class Student {
private int studentNo;
private String studentName;
public int getStudentNo() {
return studentNo;
}
public void setStudentNo(int studentNo) {
this.studentNo = studentNo;
}
public String getStudentName() {
return studentName;
}
public void setStudentName(String studentName) {
this.studentName = studentName;
}
public String toString(){
return String.valueOf(this.hashCode());
}
}
|
Output
[26425437, 5862378, 12455463, 32956236]
|
Download as Zip
Link to download
InjectJavaAnnotation
Hints.
Click on File menu. then click " Download"
|