ProxyConfig包含的5個屬性如下:
每一個屬性的具體含義:https://www.jianshu.com/p/b38b1a8cb0a4
public class ProxyConfig implements Serializable { /** use serialVersionUID from Spring 1.2 for interoperability */ private static final long serialVersionUID = -8409359707199703185L; // 如果該值為true,則proxyFactory將會使用CGLIB對目標對象進行代理,默認值為false private boolean proxyTargetClass = false; // 標記是否對代理進行優化。啟動優化通常意味着在代理對象被創建后,增強的修改將不會生效,因此默認值為false。 private boolean optimize = false; // 該屬性用於空值生成的代理對象是否可以強制轉型為Advised,默認值為false,表示任何生成的代理對象都可以強制轉換成Advised,true是不可以,可以通過Adviced查詢代理對象的一些狀態 boolean opaque = false; // 標記代理對象是否應該被aop框架通過AopContext以ThreadLocal的形式暴露出去。 // 當一個代理對象需要調用它自己的另外一個代理方法時,這個屬性將非常有用。默認是是false,以避免不必要的攔截。 boolean exposeProxy = false; // 標記該配置是否需要被凍結,如果被凍結,將不可以修改增強的配置。 // 如果該值為true,那么代理對象的生成的各項信息配置完成,則不容許更改,如果ProxyFactory設置完畢,該值為true,則不能對Advice進行改動,可以優化代理對象生成的性能。默認情況下該值為false private boolean frozen = false; ... }