Spring面试题pro版-3

Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。

Spring的属性注入的方式有哪几种?

(1)构造函数注入
使用类中的构造函数,给成员变量赋值。
构造函数的方式要求类中提供一个对应参数列表的构造函数。
使用constructor-arg标签。
属性:
index :指定参数在构造函数参数的索引位置。
type:指定参数在构造函数中的数据类型。
name:指定参数在构造函数中的名称。
value:赋值可以是基本类型和string。
ref:赋其他配置过的bean类型。
(2)set方法注入
通过property进行注入
属性
name :找的是set后面的部分
ref:给属性赋值是其他的bean类型
value:基本类型和string类型
(3) P 名称注入
此种方式是通过在xml 中导入p 名称空间,使用p:propertyName 来注入数据,它的本质仍然是调用类中的set 方
法实现注入功能。

Spring使用注解进行装配的时候需要什么注解

componetScan 指定basePackage

说说Spring常用的注解

1、@Component 相当于将此类交由spring进行管理
2、@Controller ,@Service ,@Repository,分别用于controller层, service层, dao层。
3、@Autowired 按照类型注入
4、@Qualifer 类型注入的基础上,按照名称进行注入
5、@Value注解,用于注入一些数据
6、@Scope 用于指定bean的作用范围
7、@PostConstruct 用于初始化bean的时候,执行的方法
8、@PreDestroy 用于bean销毁的时候执行

@Autowired和@Resource的区别

@Autowired 优先按照类的类型来进行匹配。如果找到了,则返回,如果找到多个则报错。此时配合@Qualifier使 用,通过这个注解指定名字,找到唯一的类进行装载。
@Resource 是javaee的注解,默认通过名字来进行装配。找不到则报错。里面可以指定两个属性type,和name。通
过这两个找到唯一的类型装载。

@Component和@Bean的区别

1.作用对象不同。 @Component注解作用于类,而@Bean注解作用于方法。
2.@Component注解通常是通过类路径扫描来自动侦测以及自动装配到Spring容器中(我们可以使用
@ComponentScan注解定义要扫描的路径)。@Bean注解通常是在标有该注解的方法中定义产生这个bean,告诉 Spring这是某个类的实例,当我需要用它的时候还给我。
3.@Bean注解比@Component注解的自定义性更强,而且很多地方只能通过@Bean注解来注册bean。比如当引用 第三方库的类需要装配到Spring容器的时候,就只能通过@Bean注解来实现。

相关推荐

  1. Spring面试pro-3

    2024-04-12 20:28:02       42 阅读
  2. Spring面试pro-6

    2024-04-12 20:28:02       34 阅读
  3. 【MySQL面试pro-13】

    2024-04-12 20:28:02       34 阅读
  4. 【MySQL面试pro-12】

    2024-04-12 20:28:02       32 阅读
  5. Spring-面试

    2024-04-12 20:28:02       62 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-12 20:28:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-12 20:28:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-12 20:28:02       82 阅读
  4. Python语言-面向对象

    2024-04-12 20:28:02       91 阅读

热门阅读

  1. postman怎么生成随机数详细步骤及使用方式

    2024-04-12 20:28:02       115 阅读
  2. 【图论】Leetcode 200. 岛屿数量【中等】

    2024-04-12 20:28:02       48 阅读
  3. 前端 js 经典:字符编码详解

    2024-04-12 20:28:02       43 阅读
  4. 【QT教程】QT6SVG处理

    2024-04-12 20:28:02       36 阅读
  5. 我的 Lisp 学习历程:从新手到熟练掌握

    2024-04-12 20:28:02       43 阅读
  6. RK3399广告机主板板刷armbian--改固件方法

    2024-04-12 20:28:02       246 阅读