如题,Java属性的操作一般都是通过方法来的,spring的的属性注入,原则上是不是破坏了Java的封装性
------解决思路----------------------
这看你如何理解,首先spring最显著的作用之一就是解耦。使你整个项目之间呈现松耦合状态,而这样做是通过反射实现的。原则上,我个人认为,并不破坏其封装特性,如果你自己用过反射,就知道有个“抑制检查”的属性,因此非公开的方法,是不能通过反射得到的。况且从Spring的配置中,你也应该知道,Spring的所有操作均通过public方法实现,而不会直接去获取某个成员变量。其这样做,我相信也是不愿侵入到你的对象当中去。
------解决思路----------------------
楼主如果把annotation直接写在属性上,不封装,确实破坏了封装。最好的方式是先封装属性,然后把标签写在set方法上。这样就不会破坏封装性了。