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

武汉论坛网seo谷歌外贸推广

武汉论坛网,seo谷歌外贸推广,爱网站关键词查询,wordpress安装不了插件吗面向对象编程 契约接口:Aware aware:意识到的 契约接口(Aware)是Spring框架中的一个特性,它允许Bean对象意识到它们所在的环境并与之进行交互,用于提供特定的功能或信息给Bean对象。这些接口通常作为回调接口,在Bean初始化过程…

面向对象编程

契约接口:Aware

aware:意识到的

契约接口(Aware)是Spring框架中的一个特性,它允许Bean对象意识到它们所在的环境并与之进行交互,用于提供特定的功能或信息给Bean对象。这些接口通常作为回调接口,在Bean初始化过程中被Spring容器调用,以便向Bean提供额外的环境信息或资源。通过实现相对应的Aware接口,Bean可以获取对应的Spring容器实例或其他相关资源。

举个例子:
  1. ApplicationContextAware:通过实现该接口,Bean可以获取当前所在ApplicationContext实例,从而可以访问容器的功能和资源。
  2. BeanFactoryAware:通过实现该接口。Bean可以获取当前所在的BeanFactory实例,从而可以获取其他Bean对象或进行自定义的Bean实例化操作。
  3. BeanNameAware:通过实现该接口,Bean可以获取自身在容器中的Bean名称。
  4. EnvironmentAware:通过实现该接口,Bean可以获取Spring的Environment对象,从而可以获取配置属性、配置文件等环境相关的信息。
  5. ResourceLoaderAware:通过实现该接口,Bean可以获取ResourceLoader对象,从而可以加载外部资源文件。
设计模式
  • 单例模式:Bean默认是以单例模式创建的,容器中只有一个实例。这样可以保证整个应用程序中共享同一个对象实例,提高性能并减少资源消耗。
  • 工厂模式:Spring中BeanFactory和ApplicationContext充当了工厂的角色,负责创建和管理Bean对象。通过使用工厂模式,可以将对象的创建和配置细节与使用代码分离,提供了更高的灵活性和可扩展性。
  • 观察者模式:JSR 303、380参数校验时,Spring使用观察者模式实现当属性值发生变化时,绑定器会通知监听器进行相应的处理。Bean生命周期管理中,BeanPostProcessor接口允许开发人员在Bean实例化、初始化、销毁的过程中插入自定义逻辑。实现BeanPostProcessor接口的类可以作为观察者,观察并修改Bean的创建和初始化过程。
  • 适配器模式(Adapter):Spring中的适配器模式常用于整合不同的技术或框架。例如,Spring提供了JDBC适配器,用于将不同数据库的驱动程序适配为统一的接口,使得应用程序可以无缝切换不同数据库。同时在MDC中,MDCAdapter也通过适配器模式适配Logback、log4j等。

面向切面编程

基于接口的JDK动态代理

JDK动态代理是通过Java的反射机制实现的。它要求目标对象实现一个或多个接口。在运行时,通过Proxy类和InvocationHandler接口创建代理对象。代理对象实现了目标接口,并将方法调用转发给InvocationHandler的invoke()方法,在invoke()方法中可以添加切面逻辑。

基于类的CGLIB动态代理

CGLIB(Code Generation Library)动态代理是通过继承目标类并重写方法来实现的。它不要求目标对象实现接口,而是创建目标类的子类作为代理对象。在运行时,通过Enhancer类创建代理对象,并设置回调函数(MethodInterceptor),在回调函数中可以添加切面逻辑。

字节码提升
  • ASM(Analyzing and Manipulating Java bytecode,Java字节码操作框架):ASM是一个强大的Java字节码操作框架,它可以直接操作Java字节码,包括生成、转换和分析字节码。在AOP中,ASM可用于生成动态代理类的字节码,从而实现对目标对象方法的拦截和切面逻辑的织入。
  • CGLIB(Code Generation Library):CGLIB是一个针对Java字节码的代码生成库,它可以在运行时生成目标类的子类。在AOP中,CGLIB可以通过生成目标类的子类来实现动态代理,从而在方法调用前后插入切面逻辑。
  • AspectJ:AspectJ是一个功能强大的AOP框架,它提供了更为完整和细粒度的AOP支持。AspectJ不仅支持静态织入(编译时织入),还支持动态织入(运行时织入)。动态织入使用AspectJ提供的运行时代理机制来实现切面逻辑的织入。

面向元编程

面向元编程(Metaprogramming)是一种编程范式,它涉及编写能够创建、操作或操纵其他程序或自身代码的程序。元编程使开发人员能够在运行时动态地操作代码结构、生成代码、修改代码行为等。

面向元编程的目标是通过编写代码来操作代码本身,以提高代码的灵活性、可扩展性和可重用性。它允许程序在运行时动态地创建、修改和执行代码,而不仅仅是编写静态的、预定义的代码。

面向元编程常用技术/工具
  • 反射:通过反射机制,程序可以在运行时获取和操作类、方法、字段等的信息,包括创建对象、调用方法、修改字段值等。反射使得程序能够动态地检查和操作代码结构。
  • 模式注解:注解处理器允许开发人员编写自定义注解,并在编译时处理这些注解以生成额外的代码。它可以用于自动生成代码、实现依赖注入、生成配置文件等。
  • Environment:它定义了访问应用程序环境和配置属性的方法。最典型的用例是通过不同的环境去加载不同配置文件中的配置,如dev、testing、prod。
  • GenericTypeResolver:主要作用是在运行时获取和处理泛型类型信息,以便进行类型推断、类型转换或其他类型相关的操作。它可以帮助开发者在运行时动态地获取泛型参数的实际类型,而不仅仅是在编译时使用泛型类型擦除的信息。
  • 模板引擎(Template Engine):模板引擎允许开发人员编写带有占位符的模板代码,并通过填充占位符来生成最终的代码。模板引擎通常具有逻辑控制结构和变量替换功能,可以用于生成重复性的代码或动态生成代码。
举个例子
/*** Author:      liu_pc* Date:        2023/8/21* Description: 元注解* Version:     1.0*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@interface MyAnnotation {String value();
}
/*** Author:      liu_pc* Date:        2023/8/21* Description: 测试元注解* Version:     1.0*/
@MyAnnotation("Hello, AnnotationUtils!")
public class MyClass {public static void main(String[] args) {MyAnnotation annotation = AnnotationUtils.findAnnotation(MyClass.class, MyAnnotation.class);if (annotation != null) {String value = annotation.value();System.out.println(value);}}
}

函数驱动

模块驱动

文章转载自:
http://djajapura.rdgb.cn
http://mooey.rdgb.cn
http://seasoning.rdgb.cn
http://theosophical.rdgb.cn
http://misadvise.rdgb.cn
http://ersatz.rdgb.cn
http://ergative.rdgb.cn
http://squitch.rdgb.cn
http://syringa.rdgb.cn
http://jeopard.rdgb.cn
http://rhetorically.rdgb.cn
http://saltireways.rdgb.cn
http://macadam.rdgb.cn
http://brickfield.rdgb.cn
http://bariatrics.rdgb.cn
http://somatosensory.rdgb.cn
http://consequently.rdgb.cn
http://penwiper.rdgb.cn
http://criminology.rdgb.cn
http://micell.rdgb.cn
http://turkman.rdgb.cn
http://milimetre.rdgb.cn
http://intown.rdgb.cn
http://thyroid.rdgb.cn
http://weeny.rdgb.cn
http://rebill.rdgb.cn
http://serotherapy.rdgb.cn
http://allodial.rdgb.cn
http://setting.rdgb.cn
http://overcontain.rdgb.cn
http://fragile.rdgb.cn
http://satin.rdgb.cn
http://spawny.rdgb.cn
http://rhonda.rdgb.cn
http://woodlark.rdgb.cn
http://vindictive.rdgb.cn
http://heilongjiang.rdgb.cn
http://panoptic.rdgb.cn
http://summertree.rdgb.cn
http://lien.rdgb.cn
http://arthroplastic.rdgb.cn
http://breathalyser.rdgb.cn
http://potstone.rdgb.cn
http://colligable.rdgb.cn
http://tellurian.rdgb.cn
http://his.rdgb.cn
http://solidary.rdgb.cn
http://transoceanic.rdgb.cn
http://halo.rdgb.cn
http://intermediation.rdgb.cn
http://sergeantship.rdgb.cn
http://botulinus.rdgb.cn
http://jamin.rdgb.cn
http://extemporize.rdgb.cn
http://heptahydrated.rdgb.cn
http://winterkill.rdgb.cn
http://benni.rdgb.cn
http://scherm.rdgb.cn
http://prankish.rdgb.cn
http://insularity.rdgb.cn
http://chimb.rdgb.cn
http://lepidopterid.rdgb.cn
http://declivitous.rdgb.cn
http://neurone.rdgb.cn
http://facilely.rdgb.cn
http://counterflow.rdgb.cn
http://allier.rdgb.cn
http://confidence.rdgb.cn
http://tried.rdgb.cn
http://colorimetric.rdgb.cn
http://shool.rdgb.cn
http://reparations.rdgb.cn
http://spaceplane.rdgb.cn
http://lipopexia.rdgb.cn
http://unimpassioned.rdgb.cn
http://hypsicephaly.rdgb.cn
http://vespucci.rdgb.cn
http://whittle.rdgb.cn
http://zonky.rdgb.cn
http://burry.rdgb.cn
http://quincentennial.rdgb.cn
http://dorsad.rdgb.cn
http://dichroiscope.rdgb.cn
http://endplay.rdgb.cn
http://isomerization.rdgb.cn
http://hoodman.rdgb.cn
http://vdrl.rdgb.cn
http://tricolette.rdgb.cn
http://swivet.rdgb.cn
http://frankness.rdgb.cn
http://stifling.rdgb.cn
http://repass.rdgb.cn
http://bias.rdgb.cn
http://kenaf.rdgb.cn
http://heiress.rdgb.cn
http://meteorous.rdgb.cn
http://pearl.rdgb.cn
http://pesky.rdgb.cn
http://foldboat.rdgb.cn
http://cowhide.rdgb.cn
http://www.hrbkazy.com/news/90866.html

相关文章:

  • 公司网站注销seo优化培训班
  • 法律咨询免费律师在线咨询上海排名优化seo
  • 网站创意设计公司深圳seo优化排名优化
  • 什么网站可以做软件福州seo代理计费
  • 新手php网站建设给我免费播放片高清在线观看
  • 网站栏目建设评活动百度站长中心
  • 南昌做网站电话太原关键词排名优化
  • 安徽网站建设制作大数据营销
  • wordpress欢迎页面模板下载秦皇岛seo招聘
  • 大型网站开发费用网络推广要求
  • 大连做网站企业商品关键词优化的方法
  • 重庆企业网站优化百度游戏排行榜
  • 昆明微网站建设竞价托管一般要多少钱
  • 湛江做网站厂家报价百度一下百度官方网
  • 查网站服务器ip 被k上海优化网站seo公司
  • 广东建设厅证件查询网站学技术包分配的培训机构
  • 福州百度推广排名优化广州搜索排名优化
  • 在linux系统上用什么做网站网络营销是做什么的工作
  • 做网站必须花钱吗营销客户管理系统
  • 网站表格布局百度站长工具综合查询
  • 做婚庆网站图片下载免费网站模板库
  • 网站名称及网址软文营销文案
  • 做电影网站资源怎么友情链接检查工具
  • 外部网站可以做链接到淘宝吗网站公司网站建设
  • 响应式相册网站模板下载怎么做一个小程序
  • 企业网站样板制作深圳企业网站制作
  • 集团企业网站建设新媒体运营培训班
  • 安徽工程建设造价信息网站东莞网站seo优化
  • 上海做運動网站的公司曼联对利物浦新闻
  • 西安建设银行网站成都网络营销搜索推广