zwdzdy 2019-11-12 16:22 采纳率: 0%
浏览 704

关于Spring框架注解及解耦的问题

我想问一下,本来使用spring框架的IOC是准备来降低耦合度,实现java代码被编译成class文件后想要修改调整代码活更新代码可以通过spring框架的xml配置文件来修改bean标签id实现代码的修改,但如果使用注解方式,所有创建对象及引用加载对象放在了java代码中还如何实现spring框架方便修改的功能,使用了注解之后解耦体现在了什么地方?虽然使用注解让java代码中没有明确的指明包含关系,而是通过spring来管理创建对象并进行分配的,可是修改不了,成为了死代码,那意义在哪里?

  • 写回答

1条回答 默认 最新

  • lppzyt 2019-11-12 16:55
    关注

    1.编译之后生成的class文件,是在硬盘的,此时还没有加载到内存。而spring做的是当程序启动时把需要的对象给放到spring容器中。getBean()的时候
    根据名字(beanName)获取。就是配置文件中的id。使用注解默认是类名的首字母小写,当然可以在使用注解时更改@Service(“xxxx”)就可以更改了。
    2.配置文件有的功能,都有相应的注解与其对应。
    3.IOC包含两个内容。就是如何实例化bean。一个是xml方式,一个是注解方式。拿j2ee来说。
    4.从xml形式或者注解形式。一般需要三个步骤。第一步把相应的描述转化成一个beanDefinition。第二步反射进行实例化。第三步给属性赋值。
    5.可以实现spring的不同接口在4点的时候执行我们让spring执行的逻辑。具体看一下spring的生命周期。

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog