当前位置:首页 » 数据仓库 » 配置类和bean类有什么不同吗
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

配置类和bean类有什么不同吗

发布时间: 2023-02-05 05:51:08

1. Spring @Configuration 和 @Component 区别

1.@Configuration 和 @Component 区别

我们可以看下,其实@Configuration 本质其实是 @Component注解的,因此  <context:component-scan>和@ComponentScan都能处理@Configuration 类

被@Configuration 标记的类必须符合下面几点要求

1.配置类必须是要以类的形式提供,不能是工厂返回的实例,允许生成子类在运行是增强cglib动态代理

2配置类不能是fanl 修饰,不能是匿名类( 任何嵌套的类必须是非本地, 既不能在方法中声明,不能是privater),嵌套的configruation必须是静态类

3.@Bean 方法可能不会返过来创建进一步的配置类 意思就是返回的bean 带有@Configuration.也只是当作普通类来处理。

原理分析待续····························

2.@Configuration 和 @bean

这里@Configuration可以看作是用spring的时候xml里面的<beans>标签

@Bean可以理解为用spring 的时候里面<bean>标签

这两个注解是spring 里面的,并不是spring boot里面的

在spring xml 这种形式的项目的时候 后面都要加上<context:component-scan base-package="com.xxx.xxx"> ,有时候好多注解不起作用, 可能就是这个注解。而在spring boot里面就不一样了, 只要保证main方法的入口在这些的列的上层包就行

2. javabean与普通类有什么区别吗

javabean是对面向对象思想的一种具体实施的表现,本质就是组件化,模块化。把复杂的系统拆成若干个小的模块,就像零件一样,需要时在按照系统架构对他进行拼接,满足于一个功能需求而特别独立出来的java类,具体表现提供若干个公开的构造方法,以及对类中的字段,遵照javabean规范提供相应的set和get方法。

广义上来说,所有的类都可以被称做javabean,因为都是根据一个特定的功能需求而独立出来的java类

3. spring 自动装配 和配置bean的区别

spring IoC容器可以自动装配(autowire)相互协作bean之间的关联关系。因此,如果可能的话,可以自 动让Spring通过检查BeanFactory中的内容,来替我们指定bean的协作者(其他被依赖的bean)。由于 autowire可以针对单个bean进行设置

4. JAVA BEAN和CLASS的区别

JavaBean和class的区别:JavaBean只是比class多一些限制条件,其他无区别。

JavaBean实质也是一个类,这个类遵循:

  1. 类必须是具体的和公共的。

  2. 具有无参数的构造器。

  3. 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性(即getters和setters)。

  4. 实现java.io.Serializable接口(这个目前是默认实现的,不需要特殊申明)。

例如以下为一个简单的JavaBean:

packagecom.test;

importjava.lang.*;

publicclassJavaBean{
privateStringattr;

publicJavaBean(){
//无参构造函数
}

//setter
publicvoidsetAttr(Stringstr){
attr=str;
}

//getter
publicStringgetAttr(){
returnattr;
}
}