[译] 容器概述

容器概述 org.springframework.context.ApplicationContext 接口代表了 Spring IoC 容器,它主要负责通过读取配置文件对 bean 进行实例化、配置和组装。 容器通过读取配置元数据来获知要实例化、配置和组装那些对象。配置的元数据一般为 XML、Java 注解和 Java 代码的形式,它让你能够表达组成你应用程序的对象以及对象之间的丰富的相互依赖关系。 Spring 提供了 ApplicationContext 接口的若干实现。在单体应用中,创建一个 ClassPathXmlApplicationContext 或者 FileSystemXmlApplicationContext 是很常见的。虽然 XML 是定义配置元数据的传统形式,但是你还可以通过在 XML 文件里面进行声明配置来告诉容器对于 Java 注解或者Java代码格式的支持。 在大多数的应用场景中,并不需要显式的代码来实例化 Spring IoC 容器。例如,在 Web 应用的场景中,在 web.xml 文件中仅用简单的 8 行代码左右的样板 Web XML 描述符即可满足需要(参考 Convenient ApplicationContext Instantiation for Web Applications)。如果你使 Eclipse 中的 Spring 工具(在 Eclipse 开发环境中),你可以通过几下鼠标点击或者按键的敲击就能轻松创建这样一个样板配置文件。 下图展示了关于 Spring 工作机制的一个全局视角。在 ApplicationContext 被创建和初始化后,你的应用类和配置元数据已经捆绑在一起了,这样一来,你就有一个充分配置并且可执行的系统或者应用程序。 配置元数据 如上图所示,Spring Ioc 容器接收到一种格式的配置元数据。这个配置元数据代表了,作为一个应用开发者你告诉 Spring 容器在应用程序中,如何实例化、配置和组装对象。 传统的配置元数据是一种简单并且符合直觉的 XML 形式,在本章的大部分地方,也用此来表达关键的概念和 Spring IoC 容器的特性。 基于 XML 的元数据不是配置元数据的唯一允许的形式。Spring IoC 容器自身与配置元数据实际上是什么格式完全解耦。目前许多开发者在应用程序中选择基于Java 的配置。...

2023-09-02 572 words 3 min

[译] SpringFramework 文档

概述 历史,设计哲学,反馈,开始 核心 IoC容器,事件,资源,i18n,验证,数据绑定,类型转换,SpEL,AOP,AOT 测试 对象 Mock,测试上下文框架,Spring MVC 测试,Web 测试客户端 数据接入 事务,DAO 支持,JDBC,R2DBC,O/R 映射,XML 编码 Web Servlet SpringMVC,WebSocket,SockJS,STOMP 通信 Web 响应式 Spring WebFlux, WebClient, WebSocket, RSocket. [集成] REST 客户端, JMS, JCA, JMX, Email, 任务, 调度, 缓存, 可见性. 语言 Kotlin, Groovy, Dynamic 语言. 附录 Spring 属性

2023-09-02 45 words 1 min

[译] SpringFramework 概述

概述 Spring 使得创建 Java 企业级应用更加容易。它提供了你在企业环境下拥抱 Java 语言所需要的一切,支持 JVM 平台上的 Groovy 和 Kotlin 作为备选语言,并且提供了根据应用程序的需求创建多种架构的灵活性。从 SpringFramework 6.0 开始,Spring 需要 Java 17 以上的版本。 Spring 支持广泛的应用场景。在一个大型企业里,应用程序经常会存在很长时间,并且必须运行在一个开发者不能控制升级周期的 JDK 和应用服务器上。 另外一些可能会作为一个内嵌服务器的单独 jar 包,运行在一个云环境里,还有一些可能是一个不需要服务器的独立应用程序(例如批处理或者集成处理工作)。 Spring 是开源的。它有一个庞大而活跃的社群,基于各种实际用例,提供持续反馈。这也帮助了 Spring 在相当长一段时间内成功发展。。 当我们在谈 Spring 时我们在谈什么 “Spring” 这个术语在不同的语境下有着不同的含义。它可以用来表示 SpringFramework 这个项目自身,一切都是从这里开始的(-译者按:梦开始的地方)。随着时间的推移,又构建了一些以 SpringFramework 为基础的 Spring 项目。大部分情况下,当人们谈论 Spring,他们的意思是 Spring 整个系列(-译者按:俗称全家桶)。本参考文档只针对这个基础进行介绍:SpringFramework 本身。 SpringFramework 被分成不同的模块。应用程序可以根据他们所需要的模块进行选择。这些模块中处于核心的是 core container,包括配置模型和依赖注入机制。除此之外,SpringFramework 还对于不同应用架构提供基础支持,包括消息传递、事务以及持久化和 web。它同时也包含了基于 Servlet 的 SpringMVC web 框架以及Spring WebFlux 响应式web框架。 关于这些模块需要注意的是: Spring 的框架,允许部署到 JDK 9 的模块路径(“Jigsaw”)。对于在支持 “Jigsaw” 的应用程序中的使用,Spring Framework 5 的 jar 包里面,携带了 “Automatic-Module-Name” 的 manifest entries,它定义了稳定的语言级别模块名(例如:“spring....

2023-09-02 300 words 2 min

聊点什么

谈心的文章好久没有写了,初秋的夜晚,键盘的敲击声格外响亮,一时竟然不知道从哪儿说起。我从今年开始,格外的怀旧起来。不只是怀念那个青春的八十年代,质朴的九十年代,而且竟然怀念起仿佛刚刚过去的两千年。也许是现在回看,带着滤镜和光影的原因吧。但我着实相信,过去确实比现在更加美丽一些。试问,现在还有什么歌曲能像过去的八九十年代扣人心弦,还有谁能写出像罗大佑那样充满人文情怀的歌词?我不是一个保守的人,现在的歌曲我也会经常听,但摇滚光是呐喊、嘶吼没有反思,民谣只有情绪没有韵味,流行歌曲更是惨不忍听。现在一首歌有四句比较朗朗上口一些,就能风靡一时,然后人们快速遗忘,寻找下一个。人们没法不遗忘,因为实在没有什么好怀念的。 人们在路上疯狂且快速的奔跑着,前面有人但凡有一点点挡道,便会怒从心头起。也许在快速奔跑中,人们才来不及为过去伤怀,风驰电掣,麻木一生。 如果我也这样,多好! 可是,我偏偏要将步伐放慢,歪着头想想,于是总感觉自己是个慢半拍的人。 今年一整年,几乎没有在公众号上发表任何文章,我想找个没人的地方,倾吐一下自己的想法。 失落与大门 今年是让我特别失落的一年,特别失落。 还有几年,就到传说中的中年危机了。坦白说,我直到今年才有些许明白,中年危机的真实含义。 所谓中年危机,并不单单是一个经济的问题,而是方方面面。 这个尴尬的年纪,朋友帮不上你,于是友情危机;妻子不理解你,于是婚姻危机;父母埋怨你,于是亲情危机。各方面的危机,想汹涌的几股暗流,汇集而来,向涉世未深的你迎面击来。 这个年纪,看似血气方刚,实则是最脆弱的年纪,没有经验的积淀,没有人脉的积淀,只有你自己硬抗,像不喝药,凭借自己的身体素质对抗一场重感冒。 扛过去,就会好很多。后面遇到再多糟心事,有了前面的抗体,总是会好过一些。 呵,男人四十! 今年的夏天格外热,但是在每次下班骑车回家的路上,听着歌,经常感觉浑身一阵冷战。也许是突然被某句歌词所触动,伤怀往事、怀疑信念。 于是有一阵子,我囤了很多书。最明显的变化是,我开始看外国小说了,以前硬着头皮两次入门、两次放弃的《安娜卡列尼娜》,这次竟然能够看的津津有味,甚至有时候,会有冲动,买下托尔斯泰的《战争与和平》这部据说很冗长的巨著一看。 年龄大了,学会妥协了。年少时,看那些翻译过来的腔调,就是不喜欢看不下去,我从来不理解为什么要冗长的心理描写,为什么人物的每一句台词,中间都要被“xxx说”拦腰斩为两截,如此种种。 今年突然明白了,这就是文化差异,不同地区的表达习惯,是会有不同的,不只是语汇的区分。我们应该注重的是书里面的所蕴含的光辉思想以及作者倾注的满腔热情。我们在《史记-项羽本纪》里面看不到一句项羽的心理描写,仅凭几句念白,几句描写,一个英雄就这样被人千年。 所以,中国会有山水画,笔墨留白,却依然已经满怀,而西方的工笔画、油画也依然是情绪饱满的。 留白也有水货,浓墨重彩也有精品。 这么想着,一道艺术的大门就这样为我敞开。 思想越包容,视野越广阔。有些时候,就是需要换一个视角和思维的转变。 AI 与艺术 AI 是今年的热词,仿佛一夜之间,什么都可以用 AI 做了。 就在这孤独的一年,我的阅读量和艺术视角,刻意地伸长,触及到了我之前出于懒惰不会触及的地方。就凭我简单的探索,我就知道 AI 根本没戏,虽然,我是一个技术人,但是我从来不认为 AI 能够写出那些不朽的作品,能够勾勒出那些美妙的线条。 很简单,因为 AI 不是人,没有意识和灵魂。 不是人,所以不会像人一样犯错,与此同时,也缺少了很多偶然。须知,很多艺术就是来源于偶然的灵光一现。 当然,还有一个重要的因素,就是伟大的读者催生伟大的作品,我们很难想象,被 AI 和短视频喂饱的读者们会有什么眼光去苛求那些内容的生产者。 想来也荒唐,到底是谁训练了谁? 将来的市场,AI 肯定是能挤掉一部分人的作品的。那些平庸的、毫无新意和灵魂的作品,会被 AI 取而代之。这或许倒是一个良币驱逐劣币的过程。 试看当今的歌坛,有多惨不忍睹就知道,科技能帮助人在艺术道路上走一段路,可是,剩下的路还是要靠人类自己走。 这是人类的宿命。 AI 也没有用。 也许,将来 AI 可能会突然大爆发,像人一样有了意识,但也是需要和人一样有痛苦的经历的。这样,AI 既有了人的意识,又有了人的经历和痛苦,那就是人类无疑了。 也许是 AI 被我们人类同化了吧?不知道是否可以当成人类的一场惨胜。 人文与科技 自己今年的时间,比往年多了一些,想做的事情太多,结果现在一件事也没有做成。自己不甘于只做一个消费者,也想做一个内容的生产者。 但生成什么内容,却让自己又一次开始了犹豫和纠结。 也许,这也是我的宿命,我注定会饿死在人文与科技的十字路口。 人文类的内容,是我的兴趣所在,但是目前的境况很是不尽人意,言论管控空前,万马齐喑。再加上饭圈文化和粉丝量的有限和题材内容的饱和,很难找到一个切入口完成一些看似“伟大”的事情。 科技类的内容,也是我想做的,看起来比人文的圈子要简单一些,但是,也比较枯燥一些,而且,自己驾驭起来,并不如人文类的容易一些,粉丝量的成长幅度,肯定比不上人文类的 up 主,毕竟大家都想在下班后,躺在床上,听听历史的八卦,谁会主动坐在桌前,听你分享一些你自己以为讲的很明白的原理和架构? 但是,自己毕竟是吃技术这碗饭的,而且自己在今年换工作之后,看到身边有的人无知的像一头猪一样,不禁觉得可笑之余,转念一想,自己是否在另一些人的眼里,也无知得可笑呢?于是,我立志,要把自己的技术短板填补上,尽量不看起来像一头猪。 综合起来,貌似技术up这条路,自己会走得更踏实一些,而且人文类的内容,要想做得出彩,关键在于自己阅历的积淀和对世情的理解。同样是看《潜伏》,有的人能分析地头头是道,非经一番历练之人,不可懂其中深味也。 希望与失望 当蜘蛛网无情地查封了我的炉台, 当灰烬的余烟叹息着贫困的悲哀, 我依然固执地铺平失望的灰烬, 用美丽的雪花写下:相信未来。...

《金瓶梅》

碎碎念。

2023-05-07 word 1 min