编程知识 cdmana.com

spring框架学习总结

一,spring框架

      1,是一种功能十分强大的框架,是一种轻量级,开源框架,

               核心功能:IOC (依赖式注入) 

                                  IOC作用:解耦,降低类和类,方法和方法之间的依赖关系 

                                  一句话理解: 将 ControllerServiceDao 等组件的 创建  销毁 交给Spring容器来管理,不需要 手动 new 对象                         

                                 AOP(面向切面编程)

                                  代理模式:

                                                     导演——》演员

                                                    导演——》经纪人——》演员

                                 一句话理解:通过动态代理,在不改变源代码的情况下,在方法之前和之后增加额外的功能

       2,优势:方便解耦,降低耦合度(编译时不依赖,运行时才依赖)  

二,创建spring  IOC项目基于xml开发时

            1,项目运行原理:

                   spring容器启动后,根据 spring.xml 中的配置,将 bean 标签中 id属性 和 bean对象 放入到 容器中

                  在使用时,根据 id 获取该对象

                             2,  IOC底层运行原理运用了反射机制

                          3,在bean标签中加上scope属性可以切换单例和多例模式

 singleton:单例模式,默认就是单例模式,单例模式下的对象会随着spring容器的销毁而销毁,但如果spring容器一直存在,那么这个模式下的对象也会一直存在

prototype:多例模式,每次使用对象时都会创建新的对象,只有这个对象在被使用,就一直存在。当不在使用这个对象时,会由Java垃圾回收机制进行回收。

                             4,依赖注入的过程,和上面同理xml中bean标签id和Main主方法相互对应

 

三,spring框架IOC注解篇

                1,首先使用注解就不再使用xml文件,xml文件由一个配置类进行代替,其中有两个注解,作用和xml配置文件一样,这个类一般使用‘ApplicationConfig’,来命名。

 

                2,各类注解的作用及使用方法:

@Controller:在 控制层 的类中使用。用在web项目中,相当于增强版的servlet,接收请求,返回响应

@Service:在 service层 的类中使用

@Repository:在 dao层 的类中使用

@Component:上面 3 个注解都继承 @Component 注解 :这个注解在某一个类不属于  控制层service层dao层,但想让spring容器来管理该类时,就可以用 @Component 注解

相同的地方:都有value属性,相当于bean标签的id,变量名不指定的话,默认为本类类名,首字母小写

可以混用,但不推荐,该咋写还咋写,没有规矩不成方圆

 

@Autowired :使用方法:

  • 放在成员变量上 
  • 放在方法上

作用:注入对象,默认根据类型注入

@Qualifier :与@Autowired搭配使用,可以实现指定id注入对象

 

@Resource :代替上面那两个注解,

区别:@Resource 默认先按名称注入;然后按照类型匹配注入

            @Qualifier :与@Autowired是:默认先按类型注入。如果需要根据id注入,需要搭配 @Qualifier

@Scope 注解相当于 bean 标签中的 scope 属性,用于指定作用范围 :可以切换单例模式/多例模式

四,spring框架Aop开发

                                             AOP(面向切面编程)

                                             一句话理解: 通过动态代理,在不改变源代码的情况下,在方法之前和之后增加额外的功能

                    

五,

版权声明
本文为[遥清嘛]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/4955287/blog/4939248

Scroll to Top