17
17
18
18
import java .lang .reflect .Proxy ;
19
19
20
+ import org .springframework .beans .factory .FactoryBean ;
21
+ import org .springframework .beans .factory .InitializingBean ;
22
+ import org .springframework .util .Assert ;
23
+ import org .springframework .util .ClassUtils ;
24
+
20
25
import net .paoding .rose .jade .context .JadeInvocationHandler ;
21
26
import net .paoding .rose .jade .dataaccess .DataAccessFactory ;
22
27
import net .paoding .rose .jade .rowmapper .RowMapperFactory ;
28
+ import net .paoding .rose .jade .statement .DAOConfig ;
23
29
import net .paoding .rose .jade .statement .DAOMetaData ;
24
30
import net .paoding .rose .jade .statement .InterpreterFactory ;
25
31
import net .paoding .rose .jade .statement .StatementWrapperProvider ;
26
32
import net .paoding .rose .jade .statement .cached .CacheProvider ;
27
33
28
- import org .springframework .beans .factory .FactoryBean ;
29
- import org .springframework .beans .factory .InitializingBean ;
30
- import org .springframework .util .Assert ;
31
- import org .springframework .util .ClassUtils ;
32
-
33
34
/**
34
35
*
35
36
*
@@ -51,7 +52,7 @@ public class JadeFactoryBean implements FactoryBean, InitializingBean {
51
52
protected CacheProvider cacheProvider ;
52
53
53
54
protected Object daoObject ;
54
-
55
+
55
56
// 可选的
56
57
private StatementWrapperProvider statementWrapperProvider ;
57
58
@@ -110,11 +111,11 @@ public void setCacheProvider(CacheProvider cacheProvider) {
110
111
public CacheProvider getCacheProvider () {
111
112
return cacheProvider ;
112
113
}
113
-
114
+
114
115
public StatementWrapperProvider getStatementWrapperProvider () {
115
116
return statementWrapperProvider ;
116
117
}
117
-
118
+
118
119
public void setStatementWrapperProvider (StatementWrapperProvider statementWrapperProvider ) {
119
120
this .statementWrapperProvider = statementWrapperProvider ;
120
121
}
@@ -144,16 +145,16 @@ public Object getObject() {
144
145
145
146
protected Object createDAO () {
146
147
try {
147
- DAOMetaData daoMetaData = new DAOMetaData ( objectType );
148
- JadeInvocationHandler handler = new JadeInvocationHandler (
149
- //
150
- daoMetaData , interpreterFactory , rowMapperFactory , dataAccessFactory ,
151
- cacheProvider , statementWrapperProvider );
148
+ DAOConfig config = new DAOConfig ( dataAccessFactory , rowMapperFactory ,
149
+ interpreterFactory );
150
+ DAOMetaData daoMetaData = new DAOMetaData ( objectType , config );
151
+ JadeInvocationHandler handler = new JadeInvocationHandler ( daoMetaData , cacheProvider ,
152
+ statementWrapperProvider );
152
153
return Proxy .newProxyInstance (ClassUtils .getDefaultClassLoader (),
153
- new Class [] { objectType }, handler );
154
+ new Class [] { objectType }, handler );
154
155
} catch (RuntimeException e ) {
155
- throw new IllegalStateException ("failed to create bean for "
156
- + this .objectType .getName (), e );
156
+ throw new IllegalStateException (
157
+ "failed to create bean for " + this .objectType .getName (), e );
157
158
}
158
159
}
159
160
0 commit comments