交流平台网站怎么做,太原阳性确诊,为网站开发,高端的深圳网站页面设计在Spring的开发工作中#xff0c;基本都会使用配置注解#xff0c;尤其以Component及Configuration为主#xff0c;当然在Spring中还可以使用其他的注解来标注一个类为配置类#xff0c;这是广义上的配置类概念#xff0c;但是这里我们只讨论Component和Configuration基本都会使用配置注解尤其以Component及Configuration为主当然在Spring中还可以使用其他的注解来标注一个类为配置类这是广义上的配置类概念但是这里我们只讨论Component和Configuration因为与我们的开发工作关联比较紧密那么接下来我们先讨论下一个问题就是Component与Configuration有什么区别?
这里直接说重点 1.两种注解分为Full模式和Lite模式 Lite模式
当Bean方法在没有使用Configuration注释的类中声明时它们被称为在Lite模式下处理。它包括在 Component 中声明的Bean方法甚至只是在一个非常普通的类中声明的Bean方法都被认为是Lite版的配置类。Bean方法是一种通用的工厂方法factory-method机制。
和Full模式的Configuration不同Lite模式的Bean方法不能声明Bean之间的依赖关系。这种模式下的注解不会被Spring所代理就是一个标准类如果在这个类中有Bean标注的方法那么方法间的相互调用其实就是普通Java类的方法的调用。 Full模式
Configuration在Spring中是代表FULL模式的配置注解这种模式下的类会被Spring所代理 那么在这个类中的Bean方法的相互调用 (这就表示它的方法不能有final、私有的,静态的) 就相当于调用了代理方法那么在代理方法中会判断是否调用getBean方法还是invokeSuper方法这里就是这两个注解的最根本的区别。 2.Configuration标记的类可以理解为一个xml配置文件然后每一个bean注解的方法可以理解为bean中的内容
3.Configuration(proxyBeanMethodstrue)的时候才代表代理启用而当启用使用默认的false的时候2.2版本之后改为了false因为可以提高启动效率减少时间Configuration(proxyBeanMethodsfalse)就等于了Component未使用代理
4.在什么时候使用Configuration或者Component 如果是在公司的业务功能/服务上做开发使用Full模式如果你是个容器开发者或者你在开发中间件、通用组件等那么使用Lite模式是一种更被推荐的方式它对Cloud Native更为友好 有什么问题可以在评论区说明补充或者后面我想到其他的会补充上去