java不死的原因就是:就是因为他有一个核心非常强大的技术框架支持。
Spring
IOC: Inverse Of Control 控制反转 IFly fly;
AOP: Aspect Oriented Programming 面向切面编程
OOP: Object Oriented Programming 面向对象编程 四大核心:抽象 封装 继承 多态
OOD: Object Oriented Design 面向对象设计 工程师 架构师 30k---60k
OOA: Object Oriented Analysis 面向对象分析 分析师 对象之间的关系(面向对象分析OOA、面向对象设计OOD、面向对象编程OOP)
分析-------------设计---------------编程
是 泛化 extends
能 实现 接口 implements
有 关联 成员变量
用 依赖 方法中局部变量 Spring 入门案例 1.Spring 入门案例
01.找依赖
spring-beans:4.2.0.jar 附带了core核心 和 commons logging:1.2.jar
spring-context:4.2.0.jar 附带了spring-expression aopalliance:1.0 spring-aop 02.HappyService类型 03.applicationContext.xml
beans根节点下有N个bean节点
<bean id="service" class="类型的全名称:cn.happy.day01.HappyService"><bean> 04.容器
Application ctx=new ClassPathXmlApplicationContext("ApplicationContext.xml");
HappyService service=(HappyService)ctx.getBean("service"); 2.容器:能存放多个物品的一个物体,能提供各种功能,宝盒里有各种需求。
Spring 容器:相当于一个大水桶:各种bean就是水,水脱离了水桶,就没有任何意义了。 3.IOC 和 DI
3w1h教学法
What:什么是控制反转
理解一:将组建对象的控制权,从代码本身转移到外部容器(Spring容器)。
理解二:就是在xml中配置bean节点。
Why:为什么IOC?
When:什么时候使用IOC?
How:怎么用? DI:Dependency Injection 依赖 注入 给对象注入属性值 关系:他们都是spring核心思想的不同方面的描述。站在不同维度对同一个概念或事物的解释(重点)。 4.打印机:
三种打印机:
针式打印机:Epson 590k
喷墨打印机:简历
墨盒:黑白
彩色
纸张:A4
B5
激光打印机 项目名称:教学管理系统 项目需求:经理想实时统计到每天每位老师所在的机房 数据字典 该项目需要用到的技术: mybatis+jsp+servlet+ajax+json+easyUI ------------------------------------------------------------------------
2018年6月13日
1.Spring做各种bean的管理
2.Spring的两大核心 IOC(Inverse Of Control) 控制反转
DI(Dependency Injection) 依赖注入 -----------------------------------------------------------
2018年6月13日
1.Spring做各种bean的管理
2.Spring的两大核心(Inverse Of Control)控制反转
DI(依赖注入 Dependency Injection)
IOC和DI联系:IOC侧重思想层面 DI侧重于实现
IOC对象的创建 DI属性值的注入
3.AOP
4.第一个案例
1.引入依赖
2.容器去管理bean 5.使用DI 6.AOP Aspect Oriented Programming(面向切面编程) 编程思想 解决什么问题 问题:交叉业务单独处理的问题 7.切点表达式:
* *..UserServiceImpl.*(..)
void 全名称 cn.cn.cn.cn.cn.UserServiceImpl.*(..)
String
int 符号 意义
* 0至多个任意字符
.. 用在方法参数中,表示任意多个参数; 用在包名后,便是当前包及子包路径 + 用在类名后,表示当前类及其子类; 用在接口后,表示当前接口及其实现类 8.关于增强
前置 MethodBeforeAdvice 接口
before(){} 后置增强 AfterReturningAdvice 接口
afterReturning(){} 9.默认spring容器生成的bean都是单例的,容器一旦创建,那么bean就被实例化了。所以它是单例的。 Spring整合SpringMVC 不用scope,SpringMVC,单例的,Controller类中N个方法。线程
Spring整合Struts2 Action多例的 ------------------------------------------------------------------------
前面的知识的总结
1.IOC 和 DI
2.AOP的概念 AOP相关术语:
joinPoint(连接点)。所谓连接点是指那些被拦截到的点。在spring中,这些点指的是方法,
因为spring只支持方法类型的连接点。 pointcut(切入点)。所谓切入点是指我们要对哪些joinPoint进行拦截的定义。 Advice(通知/增强)。所谓通知是指连接到joinPoint之后所要做的事情就是通知。
通知分为前置通知,后置通知,异常通知,最终通知,环绕通知,advice是面向方法的。 Introduce(引介/引入)。Introduce是一种特殊的Advice,是面向类的,可以在运行期间为
类动态的添加一些方法和字段。 Target(目标对象)。代理的目标对象。 Weaving(织入)。将Advice(增强)应用给Target(目标对象),创建Proxy的过程
Proxy(代理对象)。将Advice织入target,生成代理对象。 Aspect(切面),是切入点和通知(增强)的总和。 连接点:?
切入点:?
通知:?
切面:?
目标对象:?
代理对象:?
织入:? 3.默认Spring创建的各种bean都是单例的,我们可以控制 4.基于xmlDI 依赖注入方式:3种
set方法注入
构造注入
p命名空间注入

关于Spring的理解和相关笔记的更多相关文章

  1. spring AOP理解和相关术语

    一.AOP理解 AOP:横向抽取机制,底层使用代理方式实现. 示例: 现有LogDAO接口以及实现Log接口的Log类.类有add的方法,现在要打印add方法的开始时间和结束时间.(即增强Log的ad ...

  2. 首发!Alibaba内部:Spring源码培训课件笔记曝光!

    本文包含的内容 Spring占有的市场 阅读源码的重要性 阅读源码困难度 课件笔记的主要内容 Spring占有的市场 先来简单说一下现在各个企业常用并与Spring相关的: ssh = spring ...

  3. Spring Cloud微服务学习笔记

    Spring Cloud微服务学习笔记 SOA->Dubbo 微服务架构->Spring Cloud提供了一个一站式的微服务解决方案 第一部分 微服务架构 1 互联网应用架构发展 那些迫使 ...

  4. Spring事务源码阅读笔记

    1. 背景 本文主要介绍Spring声明式事务的实现原理及源码.对一些工作中的案例与事务源码中的参数进行总结. 2. 基本概念 2.1 基本名词解释 名词 概念 PlatformTransaction ...

  5. #Spring实战第二章学习笔记————装配Bean

    Spring实战第二章学习笔记----装配Bean 创建应用对象之间协作关系的行为通常称为装配(wiring).这也是依赖注入(DI)的本质. Spring配置的可选方案 当描述bean如何被装配时, ...

  6. Spring实战第一章学习笔记

    Spring实战第一章学习笔记 Java开发的简化 为了降低Java开发的复杂性,Spring采取了以下四种策略: 基于POJO的轻量级和最小侵入性编程: 通过依赖注入和面向接口实现松耦合: 基于切面 ...

  7. Spring Cloud 微服务实战笔记

    Spring Cloud 微服务实战笔记 微服务知识 传统开发所有业务逻辑都在一个应用中, 开发,测试,部署随着需求增加会不断为单个项目增加不同业务模块:前端展现也不局限于html视图模板的形式,后端 ...

  8. Spring IOC(控制反转)思想笔记

    Spring IOC(控制反转)思想笔记 IOC控制反转基本理念就是将程序控制权从程序员手中交给用户自定义,从而避免了因为用户一个小需求的变化使得程序员需要改动大量代码. 案例 如果按照之前javaw ...

  9. 怎么回答面试官:你对Spring的理解?

    最近看了点Spring的源码,正好来稍微扯一扯,帮一部分培训班的朋友撕开一道口子,透透气.我自己都是看的培训班视频,所以也算培训班出身吧.所以下文开口闭口"培训班",不要觉得是我在 ...

随机推荐

  1. python之yaml模块和ddt模块

    aml文件是专门用来写配置文件的语言,非常简洁和强大,远比json格式方便. 在PC中新建一个yml/yaml为为缩略名的文件,输入信息见下图 新建一个py文件处理yml文件,直接处理成字典格式 缩进 ...

  2. 洛谷p2234/BZOJ1588 [HNOI2002]营业额统计

    题目链接: 洛谷 BZOJ 分析: 好像没有什么好说的就是一个平衡树的板子--唯一要注意的就是这里要找的并不是严格的前驱和后继,因为如果找到之前某一天的营业额和它相等那么差就是0,所以我们仍然在结构体 ...

  3. 解决 Cordova命令突然无法使用问题.

    问题背景 之前一直在做 Cordova 方面, 然后准备自己尝试使用 Vue + WebPack 再配合 Cordova 做一个 App . 更新了 npm , 然后然后, 我的 cordova 这个 ...

  4. ORA-12162

    2.故障原因 诡异的故障背后的原因竟然是那样的基础:ORACLE_SID没有指定!确认系统当前的ORACLE_HOME和ORACLE_SID环境变量 [oracle@asdlabdb01 ~]$ ec ...

  5. laravel 权限管理 常用命令

    use Spatie\Permission\Models\Role;use Spatie\Permission\Models\Permission; $role = Role::create(['na ...

  6. Makefile介绍

    make 工具如 GNU make.System V make 和 Berkeley make 是用来组织应用程序编译过程的基本工具,但是每个 make 工具之间又有所不同.不同的make工具的mak ...

  7. ubuntu 下service php5-fpm restart 报错 stop: Unknown instance: 解决

    问题描述: 在安装完扩展后,重启php-fpm,发现一直停止报错 stop: Unknown instance: 通过查看进程,也查询不到该主进程 解决办法: 干掉现在正在执行的进程 pkill ph ...

  8. ie 导出不行,不兼容问题,或只出现后缀文件无法识别

    // 下载模板 @RequestMapping("/download") @ResponseBody public ResponseEntity<byte[]> dow ...

  9. 洛谷 P2680 运输计划

    题目背景 公元 2044 年,人类进入了宇宙纪元. 题目描述 L 国有 n 个星球,还有 n-1 条双向航道,每条航道建立在两个星球之间,这 n-1 条航道连通了 L 国的所有星球. 小 P 掌管一家 ...

  10. springmvc+maven搭建web项目之二 通过另一种方式配置spring

    1.创建maven web项目 2. 配置pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:x ...