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. Jenkins持续集成多任务之MultiJob

    项目实践中,我们可能需要在多个任务发布成功后在执行某个任务,这里就需要用到MultiJob这个插件. 案例场景:有3个任务:A.B.C,其中C任务需要等A和B执行成功后才会执行,那么就要先执行A和B, ...

  2. hbuilder 中文乱码

    这是因为HBuilder默认文件编码是UTF-8,你可以在工具-选项-常规-工作空间选项中设置默认字符编码

  3. android开发学习 ------- 【转】Genymotion 小白安装

    参考 https://www.cnblogs.com/whycxb/p/6850454.html 很详细,全面

  4. C#中Json的简单处理

    命名空间:Windows.Data.Json在Windows Runtime中,可以使用Json类对获取的Json字符串进行操作,相比DataContractJsonSerializer类操作更加直观 ...

  5. 如何轻松实现MySQL数据库的读写分离和负载均衡?

    配置好了 Mysql 的主从复制结构后,我们希望实现读写分离,把读操作分散到从服务器中,并且对多个从服务器能实现负载均衡.读写分离和负载均衡是 Mysql 集群的基础需求,MaxScale 就可以帮着 ...

  6. 移动端1px边框伪类宽高计算

    移动端1px边框在手机上看显得比较粗,于是我们用伪类结合css3缩放的方法去设置线条,但是如果设置div的一条边,水平线就设置宽度100%,垂直线就设置高度100%,那么如果是div的四条边呢?宽高1 ...

  7. 你有学习者综合征吗?Web 开发是重灾区

    [导读]:学习者综合征的主要表现:学而不用,不停学习,却没有真正实际应用知识来做东西.如果过去的一年里,学习的语言或框架超过三个,那可能已经感染学习者综合征了.Web 开发是重灾区咯. 你有学习者综合 ...

  8. CSS3常用属性浏览器兼容前缀

    1.检测网站https://gsnedders.html5.org/outliner/ 2.查询是否支持前缀http://caniuse.com 3.border-radius\box-shadow\ ...

  9. 开发原生安卓cordova插件(有原生界面)

    上文开发的插件没有调用原生界面,本文介绍开发带有activity的插件 本文很多操作与上文重复,重复部分会省略 首先打开plug1,先开发插件的原生代码 在以下命名空间创建一个activity 名称为 ...

  10. OCP 11g 第二章练习

    练习 2-1 在Windows计算机上安装SQL Developer 在本练习中,将在Windows计算机上安装SQL Developer 1. 从以下URL下载当前SQL Developer版本: ...