Spring依赖注入及AOP总结

1.依赖注入

什么叫依赖注入:(DI),Spring的里面特性,也是比较重要

一个类里面依赖于另外一个类,然后spring把类的对象创建出来,然后注入到相应的类里面过程(理解)

1.1 依赖注入方式

(1)普通 set方法注入(掌握)

​ setName(String name)

<property name="name" value="xxxx">

(2) 构造器注入(了解)

​ 类提供一个构造器

​ MyBean(Integer id,String name){

​ }

<constructor-arg index="0" value="1"></constructor-arg>
<constructor-arg index="1" value="xx"></constructor-arg>

<constructor-arg name="id" value="1"></constructor-arg>
 <constructor-arg name="name" value="yyy"></constructor-arg>

<constructor-arg type="java.lang.Long" value="18"></constructor-arg>
 <constructor-arg type="java.lang.Long" value="1">

其他的属性注入:

​ 比如List /Set Arrays Map Properties

Array和Properties(掌握)

	<property name="arrays">
            <array>
                <value>A</value>
                <value>A</value>
                <value>A</value>
            </array>
        </property>

  <property name="prop1">
            <props>
                <prop key="key1" >sdfjlasjdflsaf</prop>
                <prop key="key2" >sdfjlasj测试f</prop>
            </props>
        </property>

(3)XML里面类的注入方式(类和类之间注入)

​ XML–>

​ XML自动注入 -->ByName ByType

​ 全注解方式注入–> <context:compont-scan basePackage="…"> –掌握

2 AOP

AOP:他也是Spring一个特性 ,面向切面的编程

什么叫面向切面编程(AOP):(理解)

​ 它的产生并不是去取代面向对象,而是对面向对象进行扩展,可以按照一定的方式,把类切开(切到方法上面),可以往方法前后添加一些逻辑

什么叫面向对象编程:

​ 用一个实实在在的个体去操作数据

我们在写程序,可以把什么内容都可以看成对象,使用对象思维操作编程

AOP使用场景:(掌握

事务管理 日志管理 性能监控 拦截器

3.AOP实现

低耦合 /松耦合:类和类直接链接程度很低

高内聚:类里面的方法 就应该完成一个事情 (save/update)

底层是通过代理模式实现 – 代理模式 JDK/CGLIB动态代理

JDK:针对有接口情况下使用的代理模式 --优先推从–耦合度低

CGLIB:没有接口的情况下使用的代理模式 – 不要定义成final 修饰类

4.Spring的AOP的实现

xml版本aop – 练习掌握

anno版本aop–练习掌握

5.AOP代理模式

掌握概念

代理模式

​ 静态代理:如果对多个接口或者多个方法,写很多额外的代理实现

​ 动态代理

实现了解

​ 动态代理 jdk(有接口) cglib(没有接口代理)

猜你喜欢

转载自blog.csdn.net/weixin_44671176/article/details/97844361