Spring框架知识点总结_( )注解用于标注一个控制器组件类,其功能与@component()相同

1.构造方法注入(采用java的反射机制)

2.属性的setter方法注入
最主流方式:
创建接口实现类TestDIServiceImpl1
将TestDIServiceImpl1类托管给Spring
在test中测试setter方法注入

5.Bean的配置

配置属性
id:Bean在BeanFactory中的唯一标识
class:Bean的具体实现类使用类的名
scope:制定Bean的作用域

子元素

<constructor-arg> bean元素的子元素,使用构造方法注入,指定构造方法的参数。index,ref,type,value

<property>        bean元素的子元素,用于设置一个属性。name,value,ref

<list>          <property>的子元素,用于封装list或数组类型的依赖注入

<map>           <property>的子元素,用于封装Map类型的依赖注入
<entry>          <map>的子元素,用于设置一个键值对。

<set>           <property>的子元素,用于封装set类型的依赖注入

6.Bean的实例化

1.构造方法实例化
2.静态工厂实例化
3.实例工厂实例化

最常用1

7.Bean的作用域

singleton:默认作用域 只有一个Bean实例
prototype:为每次请求创建一个新的实例

8.Bean的生命周期

实例化-初始化-调用方法-销毁

9.Bean的装配方式

1.基于XML配置的装配
2.基于注解的装配
3.自动装配

基于注解的装配方式是最受青睐的
方便升级和维护
常用注解:
@Component 表示一个组件对象,可以作用在任何层次之上
@Repository用于将数据访问层的类标识为Bean,即注解数据访问层Bean,其功能与@Component相同
@Service用于标注一个业务逻辑组件类,其功能与@Component相同
@Controller用于标注一个控制器组件类,其功能与@Component相同
@Autowired可以对成员变量,方法及构造方法进行标注,完成自动装配的工作。
@Resource同上,区别在于按照名称进行标注
@Qualifier与Autowired配合使用,按照名称装配注入。

10.Spring AOP

面向切面编程,与OOP(面向对象编程)相辅相成。

AOP术语:
切面Aspect:是指封装横切到系统功能的类
连接点Joinpoint:是指程序运行中的一些时间点
切入点Pointcut:需要处理的连接点
通知Advice:是由切面添加到特定的连接点的一段代码
引入Introduction:允许在现有实现类中添加自定义的方法和属性
目标对象Target Object:是指所有被通知的对象
代理Proxy:是通知应用到目标对象之后被动态创建的对象
织入Weaving是将切面代码插入到目标对象上,从而生成代理对象的过程

11.动态代理

常用方式:
1.JDK:必须提供接口才能使用
2.CGLIB

12.基于代理类的AOP实现

使用org.springframework.aop.framework.ProxyFactoryBean创建代理是SpringAOP实现的最基本方式。
12.1
通知类型:
环绕通知
前置通知
后置返回通知
后置(最终)通知
异常通知
引入通知

12.2
ProxyFactoryBean
是org.springframework.aop.framework.ProxyFactoryBean接口的一个实现类,负责为其他Bean实例创建代理实例。

属性:
target:代理的目标对象
proxyInterfaces代理需要实现的接口列表,如果是多个接口,可以使用以下格式

<list>
<value></value>
</list>

interceptorNames:需要织入目标的Advice
proxyTargetClass:是否对类代理而不是接口,默认为false,使用JDK动态代理。当为true时,使用CGLIB动态代理。
singleton:返回的代理实例是否为单例,默认为true
optimize:当设置为true时,强制使用CGLIB代理。

13.AspectJ

是一种基于Java语言的Aop框架。
使用AspectJ实现Spring AOP的方式有两种:
1.基于XML配置开发AspectJ
是指通过XML配置文件定义切面,切入点及通知,所有定义都必需在<aop:config>元素内

<aop:config>顶层配置元素,在<beans>中可以包含多个该元素

<aop:aspect>配置一个切面,属性ref指定切面的定义,<aop:config>的子元素

<aop:pointcut>配置切入点,<aop:aspect>的子元素

<aop:before>配置前置通知,<aop:aspect>的子元素,method属性制定方法,
pointcut-ref属性指定关联的接入点

<aop:after-returning>配置后置返回通知,<aop:aspect>的子元素,method属性制定方法,
pointcut-ref属性指定关联的接入点

<aop:around>配置环绕通知,<aop:aspect>的子元素,method属性制定方法,
pointcut-ref属性指定关联的接入点

<aop:after-throwing>配置异常通知,<aop:aspect>的子元素,method属性制定方法,


# 最后

面试是跳槽涨薪最直接有效的方式,马上金九银十来了,各位做好面试造飞机,工作拧螺丝的准备了吗?

掌握了这些知识点,面试时在候选人中又可以夺目不少,暴击9999点。机会都是留给有准备的人,只有充足的准备,才可能让自己可以在候选人中脱颖而出。

![](https://img-blog.csdnimg.cn/img_convert/6c086fbc39931ceec3b184415a57e8d8.webp?x-oss-process=image/format,png)

![](https://img-blog.csdnimg.cn/img_convert/471f19dfe12b5c1435f0d49f7d97cb09.webp?x-oss-process=image/format,png)

做好面试造飞机,工作拧螺丝的准备了吗?

掌握了这些知识点,面试时在候选人中又可以夺目不少,暴击9999点。机会都是留给有准备的人,只有充足的准备,才可能让自己可以在候选人中脱颖而出。

[外链图片转存中...(img-KfkwzmYn-1721158072559)]

[外链图片转存中...(img-3MXok2bs-1721158072560)]

  • 24
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值