Skip to content

Commit 261a72d

Browse files
committed
Dagger Sample
1 parent a96a27e commit 261a72d

9 files changed

Lines changed: 180 additions & 3 deletions

File tree

‎dagger/pom.xml‎

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<modelVersion>4.0.0</modelVersion>
6+
7+
<groupId>com.fd</groupId>
8+
<artifactId>tryout-dagger</artifactId>
9+
<version>1.0-SNAPSHOT</version>
10+
11+
<properties>
12+
<java-version>1.8</java-version>
13+
<maven.compiler.source>1.8</maven.compiler.source>
14+
<maven.compiler.target>1.8</maven.compiler.target>
15+
16+
<maven.plugins.maven-shade-plugin.version>2.4.3</maven.plugins.maven-shade-plugin.version>
17+
<maven.plugins.maven-compiler-plugin.version>3.6.1</maven.plugins.maven-compiler-plugin.version>
18+
19+
<aws-lambda-java-core.version>1.2.0</aws-lambda-java-core.version>
20+
21+
<lombok.version>1.18.4</lombok.version>
22+
<dagger.version>2.19</dagger.version>
23+
</properties>
24+
25+
<dependencies>
26+
<dependency>
27+
<groupId>com.google.dagger</groupId>
28+
<artifactId>dagger</artifactId>
29+
<version>${dagger.version}</version>
30+
</dependency>
31+
</dependencies>
32+
33+
<build>
34+
<plugins>
35+
<plugin>
36+
<groupId>org.apache.maven.plugins</groupId>
37+
<artifactId>maven-compiler-plugin</artifactId>
38+
<version>${maven.plugins.maven-compiler-plugin.version}</version>
39+
<configuration>
40+
<annotationProcessorPaths>
41+
<path>
42+
<groupId>com.google.dagger</groupId>
43+
<artifactId>dagger-compiler</artifactId>
44+
<version>${dagger.version}</version>
45+
</path>
46+
</annotationProcessorPaths>
47+
</configuration>
48+
</plugin>
49+
</plugins>
50+
</build>
51+
</project>
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.fd.tryout.dagger;
2+
3+
import com.fd.tryout.dagger.config.DaggerIoCConfig;
4+
import com.fd.tryout.dagger.config.IoCConfig;
5+
6+
/**
7+
* @author fdanismaz
8+
* date: 11/11/18 7:15 PM
9+
*/
10+
public class App {
11+
12+
public static void main(String[] args) {
13+
IoCConfig iocConfig = DaggerIoCConfig.create();
14+
15+
MyService myService = iocConfig.myService();
16+
myService.print();
17+
18+
MyService2 myService2 = iocConfig.myService2();
19+
myService2.print2();
20+
}
21+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package com.fd.tryout.dagger;
2+
3+
/**
4+
* @author fdanismaz
5+
* date: 11/11/18 7:21 PM
6+
*/
7+
public class MyBusinessLogic {
8+
9+
public void print() {
10+
System.out.println("Hello World! from Dagger...");
11+
}
12+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.fd.tryout.dagger;
2+
3+
/**
4+
* @author fdanismaz
5+
* date: 11/11/18 7:17 PM
6+
*/
7+
public interface MyService {
8+
9+
void print();
10+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package com.fd.tryout.dagger;
2+
3+
import javax.inject.Inject;
4+
5+
/**
6+
* @author fdanismaz
7+
* date: 11/11/18 7:32 PM
8+
*/
9+
public class MyService2 {
10+
11+
@Inject
12+
public MyService2() {
13+
}
14+
15+
public void print2() {
16+
System.out.println("Hello World 2! from Dagger 2...");
17+
}
18+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.fd.tryout.dagger;
2+
3+
import javax.inject.Inject;
4+
5+
/**
6+
* @author fdanismaz
7+
* date: 11/11/18 7:17 PM
8+
*/
9+
public class MyServiceImpl implements MyService {
10+
11+
MyBusinessLogic businessLogic;
12+
13+
public MyServiceImpl(MyBusinessLogic businessLogic) {
14+
this.businessLogic = businessLogic;
15+
}
16+
17+
@Override
18+
public void print() {
19+
this.businessLogic.print();
20+
}
21+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package com.fd.tryout.dagger.config;
2+
3+
import com.fd.tryout.dagger.MyService;
4+
import com.fd.tryout.dagger.MyService2;
5+
import dagger.Component;
6+
7+
import javax.inject.Singleton;
8+
9+
/**
10+
* @author fdanismaz
11+
* date: 11/11/18 7:15 PM
12+
*/
13+
@Singleton
14+
@Component(modules = SampleDaggerModule.class)
15+
public interface IoCConfig {
16+
17+
MyService myService();
18+
19+
MyService2 myService2();
20+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package com.fd.tryout.dagger.config;
2+
3+
import com.fd.tryout.dagger.MyBusinessLogic;
4+
import com.fd.tryout.dagger.MyService;
5+
import com.fd.tryout.dagger.MyServiceImpl;
6+
import dagger.Module;
7+
import dagger.Provides;
8+
9+
import javax.inject.Singleton;
10+
11+
/**
12+
* @author fdanismaz
13+
* date: 11/11/18 7:17 PM
14+
*/
15+
@Module
16+
public class SampleDaggerModule {
17+
18+
@Provides
19+
@Singleton
20+
public static MyService provideMyService() {
21+
return new MyServiceImpl(new MyBusinessLogic());
22+
}
23+
24+
}

‎spring-batch/src/main/java/com/fd/tryout/springbatch/config/Config.java‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@
2727
public class Config {
2828

2929
@Autowired
30-
public JobBuilderFactory jobBuilderFactory;
30+
private JobBuilderFactory jobBuilderFactory;
3131

3232
@Autowired
33-
public StepBuilderFactory stepBuilderFactory;
33+
private StepBuilderFactory stepBuilderFactory;
3434

3535
@Autowired
3636
private Step toUpperCaseConverter;
@@ -73,7 +73,7 @@ public Job convertToUpperCaseJob(ToUpperCaseJobExecutionListener listener) {
7373
}
7474

7575
@Bean
76-
public Step toUpperCaseConverter(PersonStreamWriter writer) {
76+
public Step toUpperCaseConverter() {
7777
return this.stepBuilderFactory.get("toUpperCase")
7878
.<Person, Person>chunk(10)
7979
.reader(this.reader())

0 commit comments

Comments
 (0)