【翠花学Spring】每日打卡——spring框架打卡1

理论知识

概念:spring框架是一个轻量级的企业级应用框架,spring框架是企业应用开发的“一站式”选择,贯穿于表现层,业务层,持久化层。

优点

  1. 低侵入式设计
  2. 独立于各种应用服务器
  3. 依赖注入特性将组件关系透明化,降低耦合度
  4. 面向切面编程特性允许将通过任务进行集中式处理
  5. 与第三方框架的良好整合

体系结构

以上模块中:

core containner:核心容器,这是spring框架中最重要的一块地方,专注于对各种各样对象的创建管理。

Data Access:spring提供了一套自己编写的数据访问接口,并且还可以和其他的Dao层框架进行整合开发。

Web:spring提供了一套自己编写的web控制器(springMVC),并且还可以和其他的web层框架进行整合开发。

AOP:spring的核心机制之一,称为面向切面的编程。

Aspect:面向切面编程的注解技术

Instrumentation:其他第三方的技术(Redis,搜索引擎.....)。

Messaging:消息队列。

spring设计理念:是面向Bean的编程。

spring两大核心技术

1.控制反转(IoC)/依赖注入(DI)。

控制反转:对象的控制权(创建)从代码本身,转移到spring身上。

依赖注入:程序运行时,spring会将创建好的对象注入到程序中,使程序正常运行。

2.面向切面编程(AOP)。

实战演练1:编写spring程序,实现控制台输出功能。

建立项目,导入依赖库,在src目录下创建applicationContext.xml文件,在此之前,需要像mybatis一样引入Spring模板。

创建一个实体类,随便写两个属性,并将其封装

在你所创建的applicationContext.xml文件中通过bean元素声明Spring创建的实例

具体注意点看图中注释。

创建测试类完成Spring注入

通过执行这个程序会发现,Spring会根据配置文件中的信息,自动创建对应的实例对象,并通过setter方法为其赋值。实例的属性值将不再由程序中的代码来主动创建和管理,改为被动的接受Spring的注入,使组件之间以配置文件而不是硬代码的方式组织在一起。这就是依赖注入的原理。

 实战演练2:使用Spring实现打印机功能。

定义接口规范,创建纸张和墨盒接口。

根据定义的接口规范,开发打印机功能。

创建纸张,墨盒的实现类。

编写Spring配置文件,组装打印机。将各种打印机的“零件”定义为配置文件中的bean,以备使用。

创建测试类,调用打印机的方法。

Spring框架使用DI的方式实现了Java类之间的解耦合,使Bean与Bean之间不在产生直接的依赖关系,而是通过Spring框架统一建立桥梁。Bean中只声明需要依赖的接口类型,最终注入的具体实现类则由Spring框架灵活配置。

AOP(面向切面编程)

AOP目标:让我们专注于业务功能处理。

AOP原理

将复杂的需求分解出不同方面,将不同对象,不同模块之间的共同业务集中解决。

 通过动态代理的方式,把抽离出来的共性代码“织入”到业务代码中,实现对原有代码的增强处理。

AOP基本概念

Aspect:切面,由多个切入点形成,通常不会单独配置某一个方法,而是满足某个条件下的多个方法,甚至是一个包下的所有类中的所有方法

Advice:增强处理(热水器中的加热方法,净水器中的净化方法均是增强处理)

Pointcut:切入点(针对什么方法要加上增强处理,案例中就是放水这个方法)

Joinpoint:程序中不仅仅只有一个放水方法(如何在程序运行中能动态得知是哪个水龙头呢)

TargetObject:目标对象,可以由joinpoint连接点对象动态获取,究竟是哪个切入点是在哪个对象身上

Aop代理:这套aop设计原理采用的是代理模式

Weaving:织入,就是将增强处理和切入点连接在一起,这个动作就叫做织入

  实战演练3:使用SpringAOP实现日志功能。

具体示例水龙头加热与水龙头净化器之间的联系。

导入日志jar包及配置文件。

创建水龙头类,热水器类

编写Spring配置文件 添加aop命名空间

 

编写测试类调用方法

从以上示例可以看出,业务代码和日志代码时完全分离的。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
idea快捷键是一款常用的集成开发环境,使用它可以快速进行代码编写和开发工作。然而,随着时间的流逝,在软件行业中使用idea快捷键的人也在变老。这表明了两个方面的现象。 首先,这表明idea快捷键在软件开发中的普及度和重要性。随着技术的发展和软件行业的繁荣,越来越多的开发人员开始使用idea快捷键来提高工作效率。它的功能强大,可以帮助开发人员快速执行常用的操作,例如注释、复制、粘贴和调试。因此,idea快捷键成为了软件开发过程中不可或缺的工具之一,无论是新手还是资深开发人员,都需要掌握和使用它。 然而,我们也可以从另一个角度看到这个现象:idea快捷键的用户群体也在变老。随着时间的推移,使用idea快捷键的人可能已经在软件行业中工作了许多年。这说明了idea快捷键已经成为一个老牌工具,一直在被广泛使用,并且在行业中具有很高的声誉和认可度。它的稳定性和易用性使得它成为开发人员们喜爱的工具。 总而言之,idea快捷键是一款在软件开发中广泛使用的集成开发环境工具。它的普及度和重要性使得越来越多的开发人员选择使用它来提高工作效率。虽然这个工具在软件行业中的用户群体也在逐渐变老,但它仍然是不可或缺的,对于任何一个想要进一步提升编码效率的开发人员来说,都是值得学习和应用的工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BUG忠实爱好者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值