资讯专栏INFORMATION COLUMN

慕课网_《Spring入门篇》学习总结

Ververica / 498人阅读

摘要:入门篇学习总结时间年月日星期三说明本文部分内容均来自慕课网。主要的功能是日志记录,性能统计,安全控制,事务处理,异常处理等等。

《Spring入门篇》学习总结

时间:2017年1月18日星期三
说明:本文部分内容均来自慕课网。@慕课网:http://www.imooc.com
教学示例源码:https://github.com/zccodere/s...
个人学习源码:https://github.com/zccodere/s...

第一章:概述 1-1 Spring 入门课程简介

本门课程包含的内容

什么是框架

Spring简介
IOC(配置、注解)
Bean(配置、注解)
AOP(配置、注解、AspetJ、API)

如何学习Spring

掌握用法
深入理解
不断实践
反复总结
再次深入理解与实践
1-2 Spring概况

Spring是什么

Spring是一个开源框架,为了解决企业应用开发的复杂性而创建的,但现在已经不止应用于企业应用。
是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架
--从大小与开销两方面而言Spring都是轻量的
--通过控制反转(IOC)的技术达到松耦合的目的
--提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发。
--包含并管理应用对象的配置和生命周期,这个意义上是一种容器。
--将简单的组件配置、组合成为复杂的应用,这个意义上是框架

为什么是Spring

在Spring上开发应用简单
在Spring上开发应用方便
在Spring上开发应用快捷

Spring带来了复杂JavaEE开发的春天

Spring作用

容器
提供了多种技术的支持
    --JMS
    --MQ支持
    --UnitTest
AOP(事务管理、日志等)
提供了众多方便应用的辅助类(JDBC Template等)
对主流应用框架(Hibernate等)提供了良好的支持

适用范围

构建企业应用(SpringMVC+Spring+Hibernate/MyBatis)
多带带使用Bean容器(Bean管理)
多带带使用AOP进行切面处理
其他的Spring功能:如:对消息的支持等
在互联网中的应用
1-3 Spring框架

框架

什么是框架

为什么使用框架

软件系统日趋复杂
重用度高,开发效率和质量提高
软件设计人员要专注于对领域的了解,使需求分析更充分
易于上手、快速解决问题
第二章:Spring IOC容器 2-1 IOC及Bean容器

IOC

接口及面向接口编程
什么是IOC
Spring的Bean配置
Bean的初始化
Spring的常用注入方式

接口

用于沟通的中介物的抽象化
实体把自己提供给外界的一种抽象化说明,用以由内部操作分离出外部沟通方法,使其能被修改内部而不影响外界其他实体与其交互的方式
对应Java接口即声明,声明了哪些方法是对外公开提供的
在Java8中,接口可以拥有方法体

面向接口编程

结构设计中,分清层次及调用关系,每层只向外(上层)提供一组功能接口,各层次仅依赖接口而非实现类
接口实现的变动不影响各层间的调用,这一点在公共服务中尤为重要
“面向接口编程”中的“接口”是用于影藏具体实现和实现多态性的组件

什么是IOC

IOC:控制反转,控制权的转移,应用程序本身不负责依赖对象的创建和维护,而是由外部容器负责创建和维护
DI(依赖注入)是其一种实现方式
目的:创建对象并且组装对象之间的关系

Spring的Bean配置

Bean容器初始化

基础:两个包
    org.springframework.beans
    org.springframework.context
    BeanFactory提供配置结构和基本功能,加载并初始化Bean
    ApplicationContext保存了Bean对象并在Spring中被广泛使用方式,ApplicationContext
    本地文件
    Classpath
    Web应用中依赖servlet或Listener

2-2 Spring注入方式
Spring注入是指在启动Spring容器加载bean配置的时候,完成对变量的赋值行为
常用的两种注入方式
    --设值注入
    --构造注入

第三章:Spring Bean装配(上) 3-1 Spring Bean装配之Bean的配置项及作用域

3-2 Spring Bean装配之Bean的生命周期
定义
初始化
使用
销毁

3-3 Spring Bean装配之Aware接口
Spring中提供了一些以Aware结尾的接口,实现了Aware接口的bean在被初始化之后,可以获取相应资源
通过Aware接口,可以对Spring相应资源进行操作(一定要慎重)
为对Spring进行简单的扩展提供了方便的入口
3-4 Spring Bean装配之自动装配(Autowiring)

3-5 Spring Bean装配之自动装配(Resources)

第四章:Spring Bean装配(下) 4-1 Bean的定义及作用域的注解实现

4-2 AuTowired注解说明1

@Required注解适用于bean属性的setter方法
这个注解仅仅表示,受影响的bean属性必须在配置时被填充,通过在bean定义或通过自动装配一个明确的属性值

4-5 @Bean注解

基于java的容器注解

@Bean标识一个用于配置和初始化一个由SpringIOC容器管理的新对象的方法,类似于XML配置文件的
可以在Spring的@Component注解的类中使用@Bean注解任何方法(仅仅是可以),通常使用的是@Configuration
第五章:Spring AOP概念 5-1 AOP基本概念及特点

专题三AOP

什么是AOP及实现方式
AOP基本概念
Spring中的AOP
Schema-based AOP
Spring AOP API
AspectJ

什么是AOP

AOP:Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。
主要的功能是:日志记录,性能统计,安全控制,事务处理,异常处理等等。

AOP实现方式

预编译
    AspectJ
运行期动态代理(JDK动态代理、CGLib动态代理)
    SpringAOP、JbossAOP

Spring框架中AOP的用途

提供了声明式的企业服务,特别是EJB的替代服务的声明
允许用户 定制自己的方面,以完成OOP与AOP的互补使用

Spring的AOP实现

纯java实现,无需特殊的编译过程,不需要控制类加载器层次
目前只支持方法执行连接点(通知Spring Bean的方法执行)
不是为了提供最完整的AOP实现(尽管它非常强大);而是侧重于提供一种AOP实现和Spring IOC容器之间的整合,用于帮助解决企业应用中的常见问题
Spring AOP不会与AspextJ竞争,从而提供综合全面的AOP解决方案

5-2 配置切面aspect

风格的配置大量使用了Spring的自动代理机制

5-3 配置切入点pointcut

5-4 Advice应用(上) 5-5 Advice应用(下)

5-6 Introductions

Introductions

简介允许一个切面声明一个实现指定接口的通知对象,并且提供了一个接口实现类来代表这些对象。
由中的元素声明该元素用于声明所匹配的类型拥有一个新的parent(因此得名)

5-7 Advisors

Advisor就像一个小的自包含的方面,只有一个advice
切面自身通过一个bean表示,并且必须实现某个advice接口,同时,advice也可以很好的利用AspectJ的切入点表达式

  Spring通过配置文件中元素支持advisor实际使用中,大多数情况下它会和transactional advice配合使用
为了定义一个advisor的优先级以便让advice可以有序,可以使用order属性来定义advisor的顺序

第六章:Spring AOP的API介绍 6-1 Spring AOP API的Pointcut、advice概念及应用

Spring AOP API

这是Soring1.2历史用法,现在(V4.0)仍然支持
这是SpringAOP基础,不得不了解
现在的用法也是基于历史的,只是更简便了

6-2 ProxyFactoryBean及相关内容(上)

6-3 ProxyFactoryBean及相关内容(下)

第七章:Spring对AspectJ的支持 7-1 AspectJ介绍及Pointcut注解应用

Aspect

1、@AspectJ切面使用@Aspect注解配置,拥有@Aspect的任何bean将被Spring自动识别并应用。
2、用@Aspect注解的类可以有方法和字段,他们也可能包括切入点(pointcut),通知(Advice)和引入(introduction)声明。
3、@Aspect注解是不能够通过类路径自动检测发现的,所以需要配合使用@Component注释或者在xml配置bean。

7-2 Advice定义及实例 7-3 Advice扩展

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/69883.html

相关文章

  • 课网_《2小时学会SpringBoot》学习总结

    摘要:小时学会学习总结时间年月日星期六说明本文部分内容均来自慕课网。慕课网教学示例源码暂无。数据库操作下第六章事务管理事务管理只有查询的时候不加事务,其它任何操作都要加事务。第七章课程回顾课程回顾总结介绍安装配置的使用数据库操作 《2小时学会SpringBoot》学习总结 时间:2017年2月18日星期六说明:本文部分内容均来自慕课网。@慕课网:http://www.imooc.com教学示...

    aisuhua 评论0 收藏0
  • 课网_《基于SSH实现员工管理系统之框架整合学习总结

    时间:2017年08月16日星期三说明:本文部分内容均来自慕课网。@慕课网:http://www.imooc.com教学源码:无学习源码:https://github.com/zccodere/s... 第一章:课程介绍 1-1 课程介绍 课程目录 1.ssh知识点回顾 2.搭建ssm开发环境 3.struts2整合spring 4.spring整合hibernate 5.案例:使用ssh框架开发...

    icattlecoder 评论0 收藏0
  • 课网_《Java模板引擎之Freemarker》学习总结

    摘要:时间年月日星期日说明本文部分内容均来自慕课网。整体目录结构如下项目文件用于数据持久化配置项目配置配置视图解析器配置静态资源映射配置配置配置自定义指令配置解析器配置,类似于项目启动类新建,注册配置类,并将其和当前关联。 时间:2017年3月19日星期日说明:本文部分内容均来自慕课网。@慕课网:http://www.imooc.com教学示例源码:无个人学习源码:https://githu...

    xumenger 评论0 收藏0
  • 课网_《iOS-动画进阶》学习总结

    摘要:时间年月日星期一说明本文部分内容均来自慕课网。慕课网教学示例源码个人学习源码第一章动画进阶学习课程前,请先学习慕课网动画入门学习总结。 时间:2017年05月22日星期一说明:本文部分内容均来自慕课网。@慕课网:http://www.imooc.com教学示例源码:https://github.com/zccodere/s...个人学习源码:https://github.com/zcc...

    aervon 评论0 收藏0
  • 课网_SpringBoot进阶之Web进阶》学习总结

    摘要:时间年月日星期日说明本文部分内容均来自慕课网。慕课网教学示例源码个人学习源码第一章课程介绍课程介绍本课程紧接着小时学会课程,请先看入门课。异常返回通知在连接点抛出异常后执行。 时间:2017年3月19日星期日说明:本文部分内容均来自慕课网。@慕课网:http://www.imooc.com教学示例源码:https://github.com/zccodere/s...个人学习源码:htt...

    lifefriend_007 评论0 收藏0

发表评论

0条评论

Ververica

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<