AOP 还在配置吗改用打标签模式吧!
<div id="8750-1547734396925" style="font-size: 14px; white-space: pre-wrap; line-height: 1.75;"><span style="font-size: 28px; font-weight: bold;">为什么我喜欢打标签来配置AOP builder = <span style="color: #008000;">//<span style="color: #008000;"> 注册autofac打标签模式
builder.RegisterModule(<span style="color: #0000ff;">new AutofacAnnotationModule(<span style="color: #0000ff;">typeof<span style="color: #000000;">(AnotationTest).Assembly)); <span style="color: #008000;">//<span style="color: #008000;">如果需要开启支持循环注入 <span style="color: #008000;">//<span style="color: #008000;">builder.RegisterModule(new AutofacAnnotationModule(typeof(AnotationTest).Assembly).SetAllowCircularDependencies(true)); <span style="color: #0000ff;">var container =<span style="color: #000000;"> builder.Build(); <span style="color: #0000ff;">var serviceB = container.Resolve();
Name { ;
[Bean(AutofacScope = Name { ;
}
//将class A6以父类B注册到容器
[Bean(</span><span style="color: #0000ff;">typeof</span><span style="color: #000000;">(B))]
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span><span style="color: #000000;"> A6:B
{
}</span></pre>
[Bean( School { ; ; } =
[Bean(InitMethod = ,DestroyMetnod = Test { ;
</span><span style="color: #0000ff;">public</span><span style="color: #000000;"> A29 a29;
</span><span style="color: #0000ff;">void</span><span style="color: #000000;"> start(IComponentContext context)
{
</span><span style="color: #0000ff;">this</span>.Test = <span style="color: #800000;">"</span><span style="color: #800000;">bbbb</span><span style="color: #800000;">"</span><span style="color: #000000;">;
a29 </span>= context.Resolve<A29><span style="color: #000000;">();
}
</span><span style="color: #0000ff;">void</span><span style="color: #000000;"> destroy()
{
</span><span style="color: #0000ff;">this</span>.Test = <span style="color: #0000ff;">null</span><span style="color: #000000;">;
a29.Test </span>= <span style="color: #0000ff;">null</span><span style="color: #000000;">;
}
}
</span></pre>
}
[Bean(</span><span style="color: #0000ff;">typeof</span>(B),<span style="color: #800000;">"</span><span style="color: #800000;">a5</span><span style="color: #800000;">"</span><span style="color: #000000;">)]
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span><span style="color: #000000;"> A5:B
{
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">string</span> School { <span style="color: #0000ff;">get</span>; <span style="color: #0000ff;">set</span>; } = <span style="color: #800000;">"</span><span style="color: #800000;">测试a5</span><span style="color: #800000;">"</span><span style="color: #000000;">;
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">override</span> <span style="color: #0000ff;">string</span><span style="color: #000000;"> GetSchool()
{
</span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">this</span><span style="color: #000000;">.School;
}
}</span></pre>
==
[Autowired(</span><span style="color: #800000;">"</span><span style="color: #800000;">A13</span><span style="color: #800000;">"</span><span style="color: #000000;">)]
</span><span style="color: #0000ff;">public</span><span style="color: #000000;"> B b1;
[Autowired]
</span><span style="color: #0000ff;">public</span> B B { <span style="color: #0000ff;">get</span>; <span style="color: #0000ff;">set</span><span style="color: #000000;">; }
</span><span style="color: #008000;">//</span><span style="color: #008000;">Required默认为true 如果装载错误会抛异常出来。如果指定为false则不抛异常</span>
[Autowired(<span style="color: #800000;">"</span><span style="color: #800000;">adadada</span><span style="color: #800000;">"</span>,Required = <span style="color: #0000ff;">false</span><span style="color: #000000;">)]
</span><span style="color: #0000ff;">public</span><span style="color: #000000;"> B b1;
}</span></pre>
"a10": "aaaaaaaaa1""list": [ 1,2,3"dic""name": "name1""testInitField": 1"testInitProperty": 1
A10([Value()] school,[Value()]List<> list,[Value()]Dictionary<,>.School =.list =.dic =
}
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">string</span> School { <span style="color: #0000ff;">get</span>; <span style="color: #0000ff;">set</span><span style="color: #000000;">; }
</span><span style="color: #0000ff;">public</span> List<<span style="color: #0000ff;">int</span>> list { <span style="color: #0000ff;">get</span>; <span style="color: #0000ff;">set</span><span style="color: #000000;">; }
</span><span style="color: #0000ff;">public</span> Dictionary<<span style="color: #0000ff;">string</span>,<span style="color: #0000ff;">string</span>> dic { <span style="color: #0000ff;">get</span>; <span style="color: #0000ff;">set</span><span style="color: #000000;">; }
[Value(</span><span style="color: #800000;">"</span><span style="color: #800000;">#{testInitField}</span><span style="color: #800000;">"</span><span style="color: #000000;">)]
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">int</span><span style="color: #000000;"> test;
[Value(</span><span style="color: #800000;">"</span><span style="color: #800000;">#{testInitProperty}</span><span style="color: #800000;">"</span><span style="color: #000000;">)]
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">int</span> test2 { <span style="color: #0000ff;">get</span>; <span style="color: #0000ff;">set</span><span style="color: #000000;">; }
</span><span style="color: #008000;">//</span><span style="color: #008000;">可以直接指定值</span>
[Value(<span style="color: #800000;">"</span><span style="color: #800000;">2</span><span style="color: #800000;">"</span><span style="color: #000000;">)]
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">int</span> test3 { <span style="color: #0000ff;">get</span>; <span style="color: #0000ff;">set</span><span style="color: #000000;">; }
}</span></pre>
aaaaaaaaa1
1
2
3
name1
A11([Value()] school,> dic { ;
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |