This commit is contained in:
wentch
2016-01-06 17:32:08 +08:00
parent f49b48d9da
commit 1edb2dda30
2 changed files with 63 additions and 11 deletions

View File

@@ -99,7 +99,7 @@
<span class="kd">final</span> <span class="n">JsonConvert</span> <span class="n">convert</span> <span class="o">=</span> <span class="n">JsonFactory</span><span class="o">.</span><span class="na">root</span><span class="o">().</span><span class="na">getConvert</span><span class="o">();</span>
<span class="n">String</span> <span class="n">json</span> <span class="o">=</span> <span class="n">convert</span><span class="o">.</span><span class="na">convertTo</span><span class="o">(</span><span class="n">user</span><span class="o">);</span>
<span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">json</span><span class="o">);</span> <span class="c1">//应该是 {&quot;password&quot;:&quot;123456&quot;,&quot;userid&quot;:100,&quot;username&quot;:&quot;redkalename&quot;}</span>
<span class="n">UserRecord</span> <span class="n">user2</span> <span class="o">=</span> <span class="n">convert</span><span class="o">.</span><span class="na">convertFrom</span><span class="o">(</span><span class="n">UserRecord</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">json</span><span class="o">);</span>
<span class="n">UserRecord</span> <span class="n">user2</span> <span class="o">=</span> <span class="n">convert</span><span class="o">.</span><span class="na">convertFrom</span><span class="o">(</span><span class="n">UserRecord</span><span class="o">.</span><span class="k">class</span><span class="o">,</span> <span class="n">json</span><span class="o">);</span>
<span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">convert</span><span class="o">.</span><span class="na">convertTo</span><span class="o">(</span><span class="n">user2</span><span class="o">));</span> <span class="c1">//应该也是 {&quot;password&quot;:&quot;123456&quot;,&quot;userid&quot;:100,&quot;username&quot;:&quot;redkalename&quot;}</span>
<span class="cm">/**</span>
@@ -112,12 +112,12 @@
<span class="cm"> * }</span>
<span class="cm"> **/</span>
<span class="kd">final</span> <span class="n">JsonFactory</span> <span class="n">childFactory</span> <span class="o">=</span> <span class="n">JsonFactory</span><span class="o">.</span><span class="na">root</span><span class="o">().</span><span class="na">createChild</span><span class="o">();</span>
<span class="n">childFactory</span><span class="o">.</span><span class="na">register</span><span class="o">(</span><span class="n">UserRecord</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="kc">true</span><span class="o">,</span> <span class="s">&quot;password&quot;</span><span class="o">);</span> <span class="c1">//屏蔽掉password字段使其不输出</span>
<span class="n">childFactory</span><span class="o">.</span><span class="na">reloadCoder</span><span class="o">(</span><span class="n">UserRecord</span><span class="o">.</span><span class="na">class</span><span class="o">);</span> <span class="c1">//重新加载Coder使之覆盖父Factory的配置</span>
<span class="n">childFactory</span><span class="o">.</span><span class="na">register</span><span class="o">(</span><span class="n">UserRecord</span><span class="o">.</span><span class="k">class</span><span class="o">,</span> <span class="kc">true</span><span class="o">,</span> <span class="s">&quot;password&quot;</span><span class="o">);</span> <span class="c1">//屏蔽掉password字段使其不输出</span>
<span class="n">childFactory</span><span class="o">.</span><span class="na">reloadCoder</span><span class="o">(</span><span class="n">UserRecord</span><span class="o">.</span><span class="k">class</span><span class="o">);</span> <span class="c1">//重新加载Coder使之覆盖父Factory的配置</span>
<span class="kd">final</span> <span class="n">JsonConvert</span> <span class="n">childConvert</span> <span class="o">=</span> <span class="n">childFactory</span><span class="o">.</span><span class="na">getConvert</span><span class="o">();</span>
<span class="n">json</span> <span class="o">=</span> <span class="n">childConvert</span><span class="o">.</span><span class="na">convertTo</span><span class="o">(</span><span class="n">user</span><span class="o">);</span>
<span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">json</span><span class="o">);</span> <span class="c1">//应该是 {&quot;userid&quot;:100,&quot;username&quot;:&quot;redkalename&quot;}</span>
<span class="n">user2</span> <span class="o">=</span> <span class="n">childConvert</span><span class="o">.</span><span class="na">convertFrom</span><span class="o">(</span><span class="n">UserRecord</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">json</span><span class="o">);</span>
<span class="n">user2</span> <span class="o">=</span> <span class="n">childConvert</span><span class="o">.</span><span class="na">convertFrom</span><span class="o">(</span><span class="n">UserRecord</span><span class="o">.</span><span class="k">class</span><span class="o">,</span> <span class="n">json</span><span class="o">);</span>
<span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">childConvert</span><span class="o">.</span><span class="na">convertTo</span><span class="o">(</span><span class="n">user2</span><span class="o">));</span> <span class="c1">//应该也是 {&quot;userid&quot;:100,&quot;username&quot;:&quot;redkalename&quot;}</span>
<span class="o">}</span></pre></div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在RedKale里存在默认的JsonConvert、BsonConvert对象。 只需在所有Service、Servlet中增加依赖注入资源。</p>
@@ -283,13 +283,13 @@
<span class="c1">//必须与EnMember[] 顺序一致</span>
<span class="kd">private</span> <span class="kd">final</span> <span class="n">DeMember</span><span class="o">[]</span> <span class="n">deMembers</span> <span class="o">=</span> <span class="k">new</span> <span class="n">DeMember</span><span class="o">[]{</span>
<span class="n">DeMember</span><span class="o">.</span><span class="na">create</span><span class="o">(</span><span class="n">factory</span><span class="o">,</span> <span class="n">InnerCoderEntity</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="s">&quot;id&quot;</span><span class="o">),</span>
<span class="n">DeMember</span><span class="o">.</span><span class="na">create</span><span class="o">(</span><span class="n">factory</span><span class="o">,</span> <span class="n">InnerCoderEntity</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="s">&quot;val&quot;</span><span class="o">)};</span>
<span class="n">DeMember</span><span class="o">.</span><span class="na">create</span><span class="o">(</span><span class="n">factory</span><span class="o">,</span> <span class="n">InnerCoderEntity</span><span class="o">.</span><span class="k">class</span><span class="o">,</span> <span class="s">&quot;id&quot;</span><span class="o">),</span>
<span class="n">DeMember</span><span class="o">.</span><span class="na">create</span><span class="o">(</span><span class="n">factory</span><span class="o">,</span> <span class="n">InnerCoderEntity</span><span class="o">.</span><span class="k">class</span><span class="o">,</span> <span class="s">&quot;val&quot;</span><span class="o">)};</span>
<span class="c1">//必须与DeMember[] 顺序一致</span>
<span class="kd">private</span> <span class="kd">final</span> <span class="n">EnMember</span><span class="o">[]</span> <span class="n">enMembers</span> <span class="o">=</span> <span class="k">new</span> <span class="n">EnMember</span><span class="o">[]{</span>
<span class="n">EnMember</span><span class="o">.</span><span class="na">create</span><span class="o">(</span><span class="n">factory</span><span class="o">,</span> <span class="n">InnerCoderEntity</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="s">&quot;id&quot;</span><span class="o">),</span>
<span class="n">EnMember</span><span class="o">.</span><span class="na">create</span><span class="o">(</span><span class="n">factory</span><span class="o">,</span> <span class="n">InnerCoderEntity</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="s">&quot;val&quot;</span><span class="o">)};</span>
<span class="n">EnMember</span><span class="o">.</span><span class="na">create</span><span class="o">(</span><span class="n">factory</span><span class="o">,</span> <span class="n">InnerCoderEntity</span><span class="o">.</span><span class="k">class</span><span class="o">,</span> <span class="s">&quot;id&quot;</span><span class="o">),</span>
<span class="n">EnMember</span><span class="o">.</span><span class="na">create</span><span class="o">(</span><span class="n">factory</span><span class="o">,</span> <span class="n">InnerCoderEntity</span><span class="o">.</span><span class="k">class</span><span class="o">,</span> <span class="s">&quot;val&quot;</span><span class="o">)};</span>
<span class="nd">@Override</span>
<span class="kd">public</span> <span class="kt">void</span> <span class="nf">convertTo</span><span class="o">(</span><span class="n">Writer</span> <span class="n">out</span><span class="o">,</span> <span class="n">InnerCoderEntity</span> <span class="n">value</span><span class="o">)</span> <span class="o">{</span>