Spring面试题

1、Spring自动装配的方式有哪些?

Spring的自动装配有三种模式:byType(根据类型),byName(根据名称)、constructor(根据构造函数)。

byType

找到同一种类型的bean,然后将这一个bean注入到另外的bean中,注意注入过程中需要有setter器

byName

根据指定bean名字的bean,将ean注入给另外的bean中

constructor

存在单个实例优先按类型匹配,存在多个类型相同的,按名称匹配

2、@Autowired和@Resource的区别?

1.@Autowired 是spring的注解,默认情况下@Autowired是按类型匹配的

2.@Resource是j2ee的注解,默认是根据类型匹配的,要是有多个同一类型的bean会根据,name值来找,如何没有指定name 值,就会根据实例的名字来找

3、@Qualifier 注解有什么作用

Qualifier是spring家族的注解,他会通过name 属性的值来找bean

4、@Bean和@Component有什么区别?

都是使用注解定义 Bean。@Bean 是使用 Java 代码装配 Bean,@Component 是自动装配 Bean。

@Component注解用在类上,表示这个一个类会作为组件类,并告知Spring要为创建bean

@Bean注解方法上,表示这个方法会返回一个Bean,@Bean需要在配置使用,类上需要加@Configuration注解

5.@Component、@Controller、@Reponsity和@Service 的区别?

@Component,可以将当前类注入bean中

@Reponsity 表示数据访问组件

@Service 业务层层组件

@Controller:将类标记为 Spring Web MVC 控制器。

你可能感兴趣的:(面试题,框架,spring,java,后端)