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

网站做权重中国突然宣布大消息

网站做权重,中国突然宣布大消息,人社局网站群建设工作方案,武汉设计工程学院专升本Spring 核心详解 文章目录 Spring 核心详解前言什么是springspring的优点spring用到了哪些设计模式 什么是AOPAOP的实现方式静态代理动态代理 什么是IOCIOC的好处什么是依赖注入 前言 什么是spring Spring是一个开源的Java/Java EE全功能栈(full-stack&#xff09…

Spring 核心详解


文章目录

  • Spring 核心详解
  • 前言
    • 什么是spring
    • spring的优点
    • spring用到了哪些设计模式
  • 什么是AOP
    • AOP的实现方式
      • 静态代理
      • 动态代理
  • 什么是IOC
    • IOC的好处
    • 什么是依赖注入


前言

什么是spring

Spring是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架,它提供了广泛的功能来支持企业应用程序的开发。Spring的主要目的是使Java EE开发变得更容易,通过使现有的技术更加容易使用,促进良好的编程实践(例如通过依赖注入和面向切面编程)。


spring的优点

  • 通过控制反转(Ioc)和依赖注入实现松耦合。
  • 支持面向切面(Aop)的编程,并且把应用业务逻辑和系统服务分开。
  • 通过切面和模板减少样板式代码。声明式事务的支持。可以从单调繁冗的事务管理代码中解脱出来,通过声明式方式灵活地进行事务的管理,提高开发效率和质量。
  • 方便集成各种优秀框架。内部提供了对各种优秀框架的直接支持(如:Hessian、Quartz、MyBatis等)。
  • 方便程序的测试。Spring支持Junit4,添加注解便可以测试Spring程序。

spring用到了哪些设计模式

1、简单工厂模式:BeanFactory就是简单工厂模式的体现,根据传入一个唯一标识来获得 Bean 对象。

2、工厂方法模式:FactoryBean就是典型的工厂方法模式。
spring在使用getBean()调用获得该bean时,会自动调用该bean的getObject()方法。
每个 Bean 都会对应一个 FactoryBean,如 SqlSessionFactory 对应SqlSessionFactoryBean。

3、单例模式:一个类仅有一个实例,提供一个访问它的全局访问点。Spring 创建 Bean 实例默认是单例的。

4、适配器模式:SpringMVC中的适配器HandlerAdatper。

5、代理模式:spring 的 aop 使用了动态代理,有两种方式JdkDynamicAopProxy和Cglib2AopProxy。

6、观察者模式:spring 中 observer 模式常用的地方是 listener 的实现,如ApplicationListener。

7、模板模式: Spring 中 jdbcTemplate、hibernateTemplate 等,就使用到了模板模式。


什么是AOP

面向切面编程,作为面向对象的一种补充,将公共逻辑(事务管理、日志、缓存等)封装成切面,跟业务代码进行分离,可以减少系统的重复代码和降低模块之间的耦合度。切面就是那些与业务无关,但所有业务模块都会调用的公共逻辑。

AOP的实现方式

静态代理

静态代理:代理类在编译阶段生成,在编译阶段将通知织入Java字节码中,也称编译时增强。

AspectJ使用的是静态代理。缺点:代理对象需要与目标对象实现一样的接口,并且实现接口的方法,会有冗余代码。同时,一旦接口增加方法,目标对象与代理对象都要维护

动态代理

动态代理:代理类在程序运行时创建,AOP框架不会去修改字节码,而是在内存中临时生成一个代理对象,在运行期间对业务方法进行增强,不会生成新类。

  • jdk动态代理
    如果目标类实现了接口,Spring AOP会选择使用JDK动态代理目标类。代理类根据目标类实现的接口动态生成,不需要自己编写,生成的动态代理类和目标类都实现相同的接口。JDK动态代理的核心是InvocationHandler接口和Proxy类。

    缺点:目标类必须有实现的接口。如果某个类没有实现接口,那么这个类就不能用JDK动态代理

  • cglib动态代理
    通过继承实现。如果目标类没有实现接口,那么Spring AOP会选择使用CGLIB来动态代理目标类。CGLIB(Code Generation Library)可以在运行时动态生成类的字节码,动态创建目标类的子类对象,在子类对象中增强目标类。CGLIB是通过继承的方式做的动态代理,因此如果某个类被标记为final,那么它是无法使用CGLIB做动态代理的。


什么是IOC

IOC:控制反转,由Spring容器管理bean的整个生命周期。通过反射实现对其他对象的控制,包括初始化、创建、销毁等,解放手动创建对象的过程,同时降低类之间的耦合度。

IOC的好处

ioc的思想最核心的地方在于,资源不由使用资源者管理,而由不使用资源的第三方管理。

第一,资源集中管理,实现资源的可配置和易管理。

第二,降低了使用资源双方的依赖程度,也就是我们说的耦合度。

什么是依赖注入

在Spring创建对象的过程中,把对象依赖的属性注入到对象中。依赖注入主要有两种方式:构造器注入和属性注入。

http://www.mmbaike.com/news/63783.html

相关文章:

  • 最优网络做网站宁波seo外包公司
  • 杭州做网站hzfwwl外贸网站推广怎么做
  • 昆明哪些做网站建设的公司今日头条荆州新闻
  • 天津高端网站建设公司5118站长网站
  • 中国政府网站建设与应用推广用哪个平台效果好
  • 松江城乡建设委员会的网站搜索引擎优化关键词选择的方法有哪些
  • 用jsp做的网站前后端交互推广效果最好的平台
  • 网站单页面制作网络公司起名
  • 做红酒网站佛山全市核酸检测
  • 做网站开发的商标注册多少类google登录
  • 网站备案有什么好处理网站搜索引擎优化的步骤
  • 国外开网站怎样做平帐百度推广关键词技巧定价
  • 主流网站 技术一份完整的品牌策划方案
  • 怎样制作时时彩网站做 裙 o时事新闻最新2022
  • wordpress怎样弄栏目seo积分系统
  • 一般建设网站大概需要多少钱百度客服怎么联系
  • 上海比较好的网站制作公司竞价推广开户多少钱
  • 网站源码模块自媒体营销推广方案
  • 三门峡建设局网站推广公司好做吗
  • 临湘网站建设腾讯企点app
  • 赚钱网站建设应用商店搜索优化
  • 哪些网站可以做代理商青岛网络推广公司哪家好
  • b站做简介的网站西安网页设计
  • 给自己家的公司做网站好做吗站长工具pr值查询
  • 网站淘宝客 没备案怎么做2022拉新推广平台
  • 在服务器上布网站怎么做的重庆森林粤语
  • 禅城专业网站建设公司站内推广方案
  • 我想做互联网怎么做seo外包如何
  • 商务网站制作语言基础windows优化大师最新版本
  • 领导高度重视网站建设阿里云建网站