【面试】【Spring常见问题总结】【02】

面试 同时被 2 个专栏收录
24 篇文章 1 订阅
24 篇文章 48 订阅

【常见面试问题总结目录>>>】

11、初始化和销毁Bean

为Bean定义初始化和销毁操作,只需要使用init-method 和destroy-method参数来配置<bean>元素。init-method属性指定了在初始化Bean时要使用的方法。类似地,destroy-method属性指定了Bean从容器移除之前要调用的方法。

12、Spring集合配置元素

13、装配Map集合

<map>中的<entry>元素由一个键和一个值组成,键和值可以是简单类型,也可以是其他Bean的引用。这些属性将帮助我们指定<entry>的键和值。


14、一些牢记要点:

<property>元素用于把值或Bean 引用注入到Bean的属性中,

<props> 元素用于定义-个java.util.Properties 类型的集合值,

<prop>元素用于定义<props>集合的一个成员。

15、SpEL表达式的特性

使用Bean的ID来引用Bean

调用方法和访问对象的属性

对值进行算术、关系和逻辑运算

正则表达式匹配

集合操作

16、在SpEL值上可执行的操作

17、Spring减少XML的配置数量

自动装配(autowiring)有助于减少甚至消除<property>元素和<constructor-arg>元素,让Spring自动识别如何装配Bean的依赖关系。

自动检测(autudiscovery)比自动装配更进一步,让Spring能够自动识哪些类需要被配置成Spring Bean,从而减少对Bean元素的使用。

18、4 种类型的自动装配。

byName——把与Bean的属性具有相同名字(或者ID)的其它Bean自动装配到对应属性中。如果没有跟属性的名字相匹配的Bean,则该属性不进行装配。

byType——把与Bean的属性具有相同类型的其它Bean自动装配到对应属性中。如果没有跟属性的类型相匹配的Bean,则该属性不进行装配。

constructor——把与Bean构造器参数具有相同类型的其他Bean自动装配到Bean构造器的对应参数中。

autodetect——首先尝试使用constructor进行自动装配,如果失败,再尝试使用byType进行自动装配。

19、4种类型自动装配的约束和缺点

byName——约定:为属性自动装配ID与该属性的名字相同的Bean。缺点:需要假设想Bean的名字与其他Bean的属性的名字一样。

byType——缺点:如果Spring寻找到多个Bean,并且类型都匹配,Spring会抛出异常。解决方法:可以为自动装配标识一个首选Bean 或者可以取消某个Bean自动装配的候选资格。

constructor——发现多个Bean匹配某个构造器的参数时,Spring不会尝试猜哪一个Bean更适合自动装配。此外如果一个类有多个构造器,它们都满足自动装配条件时,Spring也不会尝试哪一个构造器更适合使用。

20、使用Spring注解装配

<context:annotation-config>元素告诉Spring使用基于注解的自动装配。Spring支待几种不同的用于自动装配的注解

Spring自带的@Autowired注解。(@Autowired(required=false)说明不一定要装配,null值也可以接受)@Autowired可以装配构造器,方法和属性。

JSR-330的@Inject注解。可以装配构造器,方法和属性。@Inject注解所标注的依赖关系必须存在,如果不存在就会抛出异常。

JSR-250的@Resource注解。

  • 1
    点赞
  • 1
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
<p> Spring是目前各个企业必备的技术,也是各个框架技术需要整合的组件。Spring生态技术目前已经是互联网开发中必不可少的一个技术栈。本课程会<span style="font-size:12px;">深入的讲解了Spring核心技术从各个方面,并且从理论和实战两部分做了详细的讲解。</span> </p> <p> 相信读者能通过本课程的学习,打下良好的Spring技能基础,为后面Spring生态的扩展技术做充足的准备。 </p> <p> 本课程大致包含了以下几方面的讲解: </p> <p> 1.<span style="font-size:14px;color:#333333;">Spring多种开发方式:XML方式、注解方式、schema方式、p命名空间方式等;</span> </p> <p> <span style="font-size:14px;color:#333333;">2.Spring核心基石:控制反转IOC/ID ;</span> </p> <p> <span style="font-size:14px;color:#333333;">3.Spring切面编程:AOP;</span> </p> <p> <span style="font-size:14px;color:#333333;">4.使用Spring开发JAVA项目、Web项目;</span> </p> <p> <span style="font-size:14px;color:#333333;">5.使用Spring整合MyBatis</span> </p> <p> <span style="font-size:12px;"><span style="background-color:#FFFFFF;">6.Spring</span>注解开发;</span> </p> <p> <span style="font-size:12px;">7.Sping核心源码分析</span> </p> <p> <span style="font-size:12px;">8.Spring整合Quartz等常见组件</span> </p> <p> <span style="font-size:12px;">    建议大家在学习本课程时,除了看视频以外,一定要将视频中的案例和代码等亲自动手敲两遍以上,并且动手做总结,从而对知识的理解。</span> </p>
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值