当前位置: 首页 > news >正文

spring框架笔记

Spring实现依赖注入的两种方式:

1.构造方法注入

2.set方法注入,p标签注入

 

Spring中事务的两种实现方式:

编程式事务管理

声明式事务管理(推荐)

 

Spring增强类型:

Before  前置增强处理,在目标方法正常运行(不发生异常)前织入增强处理

AfterRetuning  后置增强处理,在目标方法正常执行(不发生异常)后植入增强处理

AfterThrowing  异常增强处理,在目标方法抛出异常后织入增强处理

After  最终增强,不论方法是否抛出异常,都会在目标方法最后织入增强处理

Around  环绕增强处理,在目标方法运行前后都可以织入增强处理。

 

Spring实现AopDE FANGSHI :

  采用生命的方式来实现(基于XML)

  采用注解的方式来实现(基于Aspectj)

 

Spring   Bean作用范围  scope="  "

  singleton:这是默认的Scope,表示整个Web容器中或者整个应用中只会有一个实例。(spring 默认)

  prototype:多利模型,表示每次从Bean容器中都会获得对应bean的全新实例。

  request:仅适用于Web环境下的ApplicationContext,每一个HttpRequest声明周期内会有一个单独的实例

  session:仅适用于Web环境下的ApplicationContext,HttpSession生命周期内会有一个单独的实例。

  globalSession:仅适用于Web环境下的ApplicationContext,Protlet环境下,每一个全局HttpSession下会有一个单独的实例

  application:仅适用于Web环境下的ApplicationContext,表示在ServletContex生命周期内会拥有一个单独的实例。

spring 注解:

@Autowired 注解是按照类型装配以来对象,默认情况下依赖对象必须存在,如果允许null值,可以设置他的required属性为false。如果想按照名称来装配,可以配合@qualifier注解一起使用

@Resource注解默认按照Byname自动注入。@Resource有两个重要属性:name和type,spring 将@Resource的name属性和type属性解析为Bean的名字和类型,如果既不指定名字也不指定type,将通过反射机制使用byname自动注入策略。

两者共同点:都可以卸载字段和setter方法上。两者如都写在字段上不需要setter方法。

 

spring涉及到的设计模式:

简单工厂  工厂方法  单例模式  适配器模式  包装器模式  代理模式  观察者模式  策略模式  模板方法

转载于:https://www.cnblogs.com/lenlen/p/10114443.html

相关文章:

  • Linux命令集锦:ssh命令
  • Socket.IO 客户端 API IO
  • 伯克利开源 Confluo,吞吐量是 Kafka 的 4 到 10 倍
  • 第八周编程总结
  • 枚举类的基本使用
  • rsync 数据备份+cron+mailx案例
  • Sublime插件:Terminal
  • centos下安装nginx
  • poi读取Excel模板并修改模板内容与动态的增加行
  • Siri shortcuts 指北
  • day15生成器面试题和内置函数
  • idea debug
  • 关于XML文件
  • SQL自动流水号函数
  • NOI2018屠龙勇士(扩展CRT + splay(multiset))
  • 【译】JS基础算法脚本:字符串结尾
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • ES2017异步函数现已正式可用
  • GraphQL学习过程应该是这样的
  • isset在php5.6-和php7.0+的一些差异
  • JavaScript函数式编程(一)
  • js递归,无限分级树形折叠菜单
  • Nacos系列:Nacos的Java SDK使用
  • Spring核心 Bean的高级装配
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • 解决iview多表头动态更改列元素发生的错误
  • 开发基于以太坊智能合约的DApp
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 码农张的Bug人生 - 初来乍到
  • 树莓派 - 使用须知
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • #### go map 底层结构 ####
  • ${factoryList }后面有空格不影响
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (Note)C++中的继承方式
  • (二)斐波那契Fabonacci函数
  • (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致
  • (蓝桥杯每日一题)love
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • (转)JAVA中的堆栈
  • (转)创业家杂志:UCWEB天使第一步
  • (转)一些感悟
  • **PHP二维数组遍历时同时赋值
  • .apk 成为历史!
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .net 使用$.ajax实现从前台调用后台方法(包含静态方法和非静态方法调用)
  • .Net 中的反射(动态创建类型实例) - Part.4(转自http://www.tracefact.net/CLR-and-Framework/Reflection-Part4.aspx)...
  • .Net程序猿乐Android发展---(10)框架布局FrameLayout
  • .net连接oracle数据库
  • .NET设计模式(7):创建型模式专题总结(Creational Pattern)
  • @angular/cli项目构建--Dynamic.Form