spring的动态代理如果不指定,他会根据类的信息来进行代理,如果类有接口的会使用JDK的动态代理,如果类没有接口的就会使用cglib,因为struts2的ActionSupport是有实现接口的,所以他用了JDK的动态代理,那样你类中自己的属性自然就没有了。而你指定了使用cglib,那他就会动态生成一个继承你这个Action的子类,自然你Action类中可供子类访问的属性都有了。
不过struts2有自己的拦截器没必要也是不建议用spring的AOP