-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathInject_demo.txt
118 lines (76 loc) · 2.41 KB
/
Inject_demo.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
Create a maven project, select quick start archetype.
give proper name for group id and artifact id
set jdk version to 8
add proper dependency to pom.xml to download Spring 5 jar
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
--------------------------------------------------------
package com.suzuki.SampleInjectDemo;
public interface {
public String getWriter();
}
-----------------------
package com.suzuki.SampleInjectDemo;
import org.springframework.stereotype.Service;
@Service
public class CallWriter implements Writer{
public String getWriter() {
// TODO Auto-generated method stub
return "i am here yes tell me";
}
}
-------------------------
package config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.beans.factory.annotation.Autowired;
import com.suzuki.SampleInjectDemo.*;
@Configuration
@ComponentScan(basePackages="com.suzuki")
public class AppConfig {
@Autowired(required=true)
CallWriter callWriter; //DI
@Bean(name="dataSource")
public String dataSource() {
return callWriter.getWriter();
}
}
--------------------
package com.suzuki.SampleInjectDemo;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.support.AbstractApplicationContext;
import config.AppConfig;
/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args )
{
// System.out.println( "Hello World!" );
AbstractApplicationContext ctx=new
AnnotationConfigApplicationContext(AppConfig.class);
String h= (String)ctx.getBean("dataSource");
System.out.println(h);
}
}