1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.mybatis.guice.environment;
17
18 import jakarta.inject.Inject;
19 import jakarta.inject.Named;
20 import jakarta.inject.Provider;
21 import jakarta.inject.Singleton;
22
23 import javax.sql.DataSource;
24
25 import org.apache.ibatis.mapping.Environment;
26 import org.apache.ibatis.transaction.TransactionFactory;
27
28
29
30
31 @Singleton
32 public final class EnvironmentProvider implements Provider<Environment> {
33
34
35
36
37 @Inject
38 @Named("mybatis.environment.id")
39 private String id;
40
41 @Inject
42 private TransactionFactory transactionFactory;
43
44 @Inject
45 private DataSource dataSource;
46
47 public void setId(String id) {
48 this.id = id;
49 }
50
51 public void setTransactionFactory(TransactionFactory transactionFactory) {
52 this.transactionFactory = transactionFactory;
53 }
54
55 public void setDataSource(DataSource dataSource) {
56 this.dataSource = dataSource;
57 }
58
59
60
61
62 @Override
63 public Environment get() {
64 return new Environment(id, transactionFactory, dataSource);
65 }
66
67 }