静下心来的个人专栏

什么是控制反转(IOC)

什么是控制反转(IOC)控制反转 (IoC) 和依赖注入 (DI) 是用于解耦类依赖关系的编程模式。在本文中,我们将讨论 Spring Framework 的 IoC 和 DI。为简单起见,假设类 Vehicle 依赖于类 Engine,这意味着没有 Engine 的 Vehicle 没有意义。我们需要确保通过保持代码松散耦合来满足这种依赖关系。所以我们使用一个特殊的类来确保对象的创建以正确的顺序
阅读更多

在 Spring AOP 中使用 @Order 通知排序

在 Spring AOP 中使用 @Order 通知排序简介在本文中,您将了解在 Spring AOP 中使用 @Order 的多个 Advice 排序。通常,不止一条建议应用于单个匹配的连接点,并且您希望控制它们的执行顺序。Spring 允许您使用 org.springframework.core.Ordered 接口或@Order 注解设置优先级。通知优先规则在两个 @Order(n) 注释中
阅读更多

BabelJS - 使用 Babel 和 JSX

BabelJS - 使用 Babel 和 JSX在本文中,我们将了解如何使用 JSX 和 babel。在我们深入细节之前,让我们了解一下 JSX 是什么。什么是 JSX?JSX 是一个 JavaScript 代码,其中结合了 xml 语法。 JSX 标签具有标签名称、属性和子标签,使其看起来像 xml。React 使用 JSX 进行模板化,而不是常规的 JavaScript。没有必要使用它,但是,
阅读更多

Spring AOP 中的环绕通知 – @Around

Spring AOP 中的环绕通知 – @Around简介在本文中,您将了解 Spring AOP 中围绕匹配的 Joinpoint 执行运行的环绕建议。使用 @Around 注解声明环绕通知。您已经了解了上一篇文章中列出的 5 种通知类型,如下所示。Before advice – @BeforeAfter returning – @AfterReturni
阅读更多

在 Spring AOP 中的After advice - @After

在 Spring AOP 中的After advice - @After简介在本文中,您将了解 Spring AOP 中的 After 通知,它在匹配的 Joinpoint 退出执行后运行。After 通知是使用 @After 注释声明的。它也被称为 After finally 通知,因为无论是否成功退出或由于异常而中断,它都会被调用。您已经了解了上一篇文章中列出的 5 种建议类型,如下所示。Be
阅读更多

BabelJS - 使用 Babel 和 Webpack

BabelJS - 使用 Babel 和 WebpackWebpack 是一个模块打包器,它将所有具有依赖关系的模块——js、样式、图像等打包成静态资产 .js、.css、.jpg、.png 等。Webpack 带有预设,有助于编译成需要的形式。例如,有助于以 react 形式获得最终输出的 react 预设,有助于在 ES5 或 6 或 7 中编译代码的 es2015 或 env 预设等。我们在
阅读更多

BabelJS - Babel 预设

BabelJS - Babel 预设Babel presets是 babel-transpiler 的配置详细信息,告诉它以指定的模式进行转换。以下是我们将在本章中讨论的一些最受欢迎的预设:ES2015EnvReact我们需要使用具有我们希望转换代码的环境的预设。或者例如,es2015 preset 会将代码转换为 es5。带有值 env 的预设也将转换为 es5。它还具有附加功能,即选项。如果您
阅读更多

揭秘 webpack 的“导入”功能:使用动态参数

揭秘 webpack 的“导入”功能:使用动态参数在本文中,我们将学习揭开 webpack 的“导入”功能迷雾:使用动态参数。虽然是 webpack 的一个热门卖点功能,但是导入功能有很多隐藏的细节和特性,很多开发者可能都不知道。例如,导入函数可以接受动态表达式,能够实现一些众所周知的特性,比如延迟加载等。您可以将动态表达式视为不是原始字符串(例如 import('./path/to/file.j
阅读更多

webpack初步理解

Webpack 是一个非常强大且有趣的工具,被视为当今许多 Web 开发人员用来构建其应用程序的技术中的基本组件。然而,许多人会认为使用它是一个相当大的挑战,主要是因为它的复杂性。 webpack bundle过程图表modules模块是一个文件的升级版本。一个模块,一旦创建并且构建之后,除了包含原始的文件代码之外,还有一些其他有意义的信息:比如模块使用的加载器,模块的依赖项,模块的导出
阅读更多

After Throwing advice in Spring AOP – @AfterThrowing

After Throwing advice in Spring AOP – @AfterThrowing简介匹配的方法通过抛出异常完成/中止其执行后调用抛出通知之后。您已经知道,这种匹配方法的名称是 Joinpoint。您可以使用 @AfterThrowing 注释声明 After throwing advice。您已经了解了上一篇文章中列出的 5 种建议类型,如下所示。Before advice
阅读更多

在 Spring AOP 中返回通知后 – @AfterReturning

在 Spring AOP 中返回通知后 – @AfterReturning简介在匹配的方法完成执行并返回一个值后,返回通知被调用。您已经知道,这种匹配方法的名称是 Joinpoint。您可以使用 @AfterReturning 注释声明 After 返回通知。您已经了解了上一篇文章中列出的 5 种建议类型,如下所示。Before advice – @BeforeAfter returni
阅读更多

BabelJS - Babel CLI

BabelJS - Babel CLIBabelJS 带有一个内置的命令行界面,其中 JavaScript 代码可以使用的命令轻松编译为相应的 ECMA 脚本。我们将在本文中讨论这些命令的使用。首先,我们将为我们的项目安装 babel-cli。我们将使用 babeljs 来编译代码。为您的项目创建一个文件夹以使用 babel-cli。npm init为项目创建的 Package.json让我们运行
阅读更多

BabelJS - Babel Polyfill

BabelJS - Babel PolyfillBabel Polyfill 为 Web 浏览器添加了对功能的支持,这些功能不可用。 Babel 将代码从最近的 ecma 版本编译为我们想要的版本。它根据预设更改语法,但不能对使用的对象或方法做任何事情。为了向后兼容,我们必须为这些功能使用 polyfill。可以polyfilled的功能以下是在旧浏览器中使用时需要 polyfill 支持的功能列
阅读更多

在 Spring AOP 中组合和重用切入点表达式

在 Spring AOP 中组合和重用切入点表达式在本文中,您将学习在Spring AOP 中组合和重用多个 Pointcut 表达式。我们在上一篇文章中只讨论了它的一些知识。组合意味着使用两个或多个由逻辑运算符分隔的表达式 - &&、||和 !我已经包含了高级示例以及一个完整的示例,以使您对这个主题有很好的理解。1、组合切入点表达式您可以使用 AND – &&,
阅读更多

BabelJS - Babel 插件

BabelJS - Babel 插件BabelJS 是一个 javascript 编译器,它可以根据可用的预设和插件更改代码的语法。 babel编译的流程涉及到以下3个部分:parsingtransformingprinting给 babel 的代码原样返回,只是语法改变了。我们已经看到将预设添加到 .babelrc 文件中以将代码从 es6 编译到 es5,反之亦然。预设只不过是一组插件。如果在
阅读更多

Webpack 或 Browserify & Gulp:哪个更好?

Webpack 或 Browserify & Gulp:哪个更好?随着 Web 应用程序变得越来越复杂,使您的 Web 应用程序可扩展变得至关重要。过去编写ad-hot时候, JavaScript 和 jQuery 就足够了,而如今构建 Web 应用程序需要更高程度的纪律原则和正式的软件开发实践,例如:1、单元测试以确保对代码的修改不会破坏现有功能。2、Linting 以确保一致的编码风格
阅读更多

BabelJS - 将 ES8 功能转换为 ES5

BabelJS - 将 ES8 功能转换为 ES5字符串填充是添加到 javascript 中的新 ES8 功能。我们将研究一个简单的示例,它将使用 babel 将字符串填充转换为 ES5。String Padding字符串填充根据指定的长度从左侧添加另一个字符串。字符串填充的语法如下所示:str.padStart(length, string); str.padEnd(length, strin
阅读更多

BabelJS - 将 ES7 功能转换为 ES5

BabelJS - 将 ES7 功能转换为 ES5在本文中,我们将学习如何将 ES7 功能转换为 ES5。ECMA Script 7 添加了以下新功能Async-AwaitExponentiation OperatorArray.prototype.includes()我们将使用 babeljs 将它们编译为 ES5。根据您的项目要求,也可以在任何 ecma 版本中编译代码,即 ES7 到 ES6
阅读更多

BabelJS - 将 ES6 模块转换为 ES5

BabelJS - 将 ES6 模块转换为 ES5在本文中,我们将看到如何使用 Babel 将 ES6 模块转换为 ES5。Modules考虑需要重用部分 JavaScript 代码的场景。 ES6 用模块的概念来拯救你。一个模块只不过是写在一个文件中的一段 JavaScript 代码。模块中的函数或变量不可用,除非模块文件导出它们。简单来说,这些模块帮助您在模块中编写代码,并且只公开应该由代码的
阅读更多

BabelJS - 将 ES6 功能转换为 ES5

BabelJS - 将 ES6 功能转换为 ES5在本文以及接下来的文章中,我们将看到 ES6 中添加的特性。我们还将学习如何使用 BabelJS 将功能编译到 ES5。以下是我们将在本章中讨论的各种 ES6 特性Let + ConstArrow FunctionsClassesPromisesGeneratorsDestructuringIteratorsTemplate LiteralstEn
阅读更多

Spring AOP 中的切入点表达式

Spring AOP 中的切入点表达式简介在本文中,您将了解用于将通知与目标连接点匹配的切入点表达式。 Spring AOP 使用 AspectJ 切入点表达式。您学习过切入点定义。 Spring AOP 仅支持方法执行连接点,因此您可以将切入点视为匹配 Spring bean 上方法的执行。切入点:它是一个确定连接点的谓词表达式,因此允许我们控制通知的执行。简单来说,切入点表达式就像一个正则表达
阅读更多

BabelJS - 使用 Babel 7 设置项目

BabelJS - 使用 Babel 7 设置项目最新版本的 Babel,7 发布,对现有包进行了更改。安装部分与 Babel 6 相同。abel 7 唯一的区别是所有的包都需要用@babel/ 安装,例如@babel/core、@babel/preset-env、@babel/cli、@babel/polyfill 等。这是使用 babel 7 创建的项目设置。1、执行以下命令开始项目设置npm
阅读更多

Spring AOP 中的 @Before advice

Spring AOP 中的 @Before advice在本文中,您将了解 Spring AOP 中的 @Before 建议。在继续本教程之前,请确保您对 AOP 术语有很好的理解。您已经了解了上一篇文章中列出的 5 种advice类型,如下所示。Before advice – @BeforeAround advice – @AroundAfter returning –&nb
阅读更多

SpringAOP介绍

SpringAOP介绍Spring AOP 使面向方面的编程更容易。在本篇中,您将学习使用 Spring AOP 进行面向方面的编程。面向方面的编程通过提供一种不同的方式来构建代码,从而增强了面向对象的编程概念。 Spring AOP 在内部使用 AspectJ,我们将在本篇中使用带有 AspectJ 注释的 Spring。什么是 AOP?Aspect 只是代码(类、方法等)中存在的一个常见特性。
阅读更多

BabelJS - 使用 Babel 6 进行项目设置

BabelJS - 使用 Babel 6 进行项目设置在本章中,我们将看到如何在我们的项目中使用 babeljs。我们将使用 nodejs 创建一个项目,并使用 http 本地服务器来测试我们的项目。项目package.json如下{ "name": "babelproject", "version": "1.0.0", "description": "babel use and st
阅读更多

BabelJS - ES6 代码执行

BabelJS - ES6 代码执行BabelJS 是一个 JavaScript 转译器,它将添加到 JavaScript 的新功能转换为 ES5 或根据给定的预设或插件做出反应。ES5 是最古老的 JavaScript 形式之一,支持在新旧浏览器上运行而不会出现任何问题。在本文的大多数示例中,我们已将代码转换为 ES5。我们已经看到 ES6、ES7 和 ES8 中添加了许多特性,如箭头函数、类、
阅读更多

Babel初步使用

Babel初步使用今天我们来看看babel的初步使用,我们首先需要安装node当安装好node以后,执行以上代码,可以看到具体的版本输出其次通过npm init准备项目的结结构{ "name": "babelproject", "version": "1.0.0", "description": "babel use and study", "main": "index.js",
阅读更多

Spring @Import 和 @ImportResource 注解

Spring @Import 和 @ImportResource 注解在本文中,您将学习使用 Spring 的 @Import 和 @ImportResource 注解分别从 java-config 类和 XML 配置中导入配置。这些注解与@Configuration 注解配合得很好。概述如您所知,@Configuration 类代表 @Bean 和其他 Spring IoC 配置。您还可以在 S
阅读更多

BabelJS - 概述

BabelJS - 概述BabelJS 是一个 JavaScript 转译器,它将新功能转译成旧标准。有了BabelJS,这些新功能可以在新旧浏览器上运行,无忧无虑。澳大利亚开发人员 Sebastian McKenzie 创立了 BabelJS。为什么选择 BabelJS?JavaScript 是浏览器可以理解的语言。我们使用不同的浏览器来运行我们的应用程序——Chrome、Firefox、Int
阅读更多

在 Spring 中处理资源

在 Spring 中处理资源本文涉及如何在 Spring 中处理资源,我们将研究各种接口,如 Resource、ResourceLoader 和 ResourceLoaderAware。我们通常不必对 Spring 处理资源的方式进行任何修改。我们将具体学习 Spring 是如何处理资源的。不要与@Resource 注解混淆。本文是关于 File、URLResources、ServletConte
阅读更多

Spring 中的自定义事件和通用事件

Spring 中的自定义事件和通用事件简介与 Spring 框架提供的许多功能一样,事件是 Spring 中 ApplicationContext 提供的最有用的功能之一。 Spring 允许您同步和异步地发布/订阅事件。Spring 中有几个标准事件,如 ContextRefreshedEvent、ContextStartedEvent、ContextStoppedEvent、ContextCl
阅读更多

Spring中的配置文件有条件地注册bean

Spring中的配置文件有条件地注册bean在 Spring Framework 中,配置文件是 bean 定义的逻辑组,仅当给定配置文件处于活动状态时才会注册。可以为一个 bean 分配多个配置文件,用逻辑操作分隔,例如 not (!), and (&) and or (|) 等。Spring 中的配置文件是使用 Spring 中的 @Profile 注释指定的。可以通过多种方式使用和激
阅读更多

Babel初步认识

Babel初步认识BabelJS 是一个 JavaScript 转译器,它将新功能转译成旧标准。有了这个,这些功能可以在新旧浏览器上自在运行。Babeljs 以插件、预设、polyfill 等形式提供了广泛的功能。简而言之,Babeljs 是一个工具集,其中包含所有可用的工具,它可以帮助开发人员使用 ECMA Script 中可用的所有当前功能,而不必担心浏览器将如何支持它。首先,我们需要理解的是
阅读更多

Spring @PropertySource 读取属性文件

Spring @PropertySource 读取属性文件简介Spring 中的@PropertySource 注解为读取属性文件提供了一种方便的声明式机制。属性文件包含键值对,例如app.log.level = 调试。在本文中,您将学习使用 @PropertySource 从属性文件中读取值,并使用 @Value 注释和 Environment 字段访问特定值。1、将@PropertySourc
阅读更多

使用@ComponentScan 和过滤器进行类路径扫描

使用@ComponentScan 和过滤器进行类路径扫描简介类路径扫描基本上意味着,检测指定包下需要由 Spring 管理的类。您需要使用带有@Configuration 的spring @ComponentScan 注释进行类路径扫描。此注解允许您指定基本包和过滤器(如果需要精细控制包扫描)。我们将在本文中研究这两种方法。深入看@ComponentScan注解在学习使用这个注解之前,我们先来看看
阅读更多

Spring 中的 IoC 容器、Bean 工厂与应用程序上下文

Spring 中的 IoC 容器、Bean 工厂与应用程序上下文在本文中,您将了解 Spring Framework 中 IoC Container、Application Context 和 Bean Factory 之间的区别。Spring IoC 容器是 Spring Framework 的核心。它创建类实例,将它们裝配在一起,配置它们,并管理它们从创建到销毁的完整生命周期。Spring 容
阅读更多

使用@Component、@Repository、@Service 的托管 bean

使用@Component、@Repository、@Service 的托管 bean简介在本教程中,您将学习不同的 Spring 原型注解(@Component、@Repository 和 @Service)来将任何类声明为 Spring 管理的 Bean。Spring MVC 还有其他几个注解,如@Controller 和@RestController。在 Spring 中作为 bean 管理的
阅读更多

profobufjs——初步学习

首先用一幅图来指出protobuf在显示不同方法之间的关系以及有效消息的概念:在这里暂时不需要理解,后面我们会一点一点解释。重点重點重点主要注意的是,我们在介绍各个不同的方法的时候,Message指的是一个任意的消息类:为了说明问题,我的demo代码用浏览器端的代码来演示:<!doctype html> <head> <style> </style&g
阅读更多

使用@Primary 和@Qualifier 微调自动装配

使用@Primary 和@Qualifier 微调自动装配简介当我们有多个相同基类类型的 bean 时,按类型自动装配会导致歧义。因为有多个相同类型的 bean,所以控制 bean 选择过程很重要。Spring 提供了 @Primary 注释,它将特定的 bean 声明为主要的,这意味着在自动装配到单值依赖项时,主要 bean 将被赋予更高的首选项。另一方面,Spring 还提供了 @Qualif
阅读更多

依赖注入(一次搞懂):@Autowired、@Resource 和 @Inject

依赖注入:@Autowired、@Resource 和 @Inject在 Spring Framework 中,您基本上可以使用三个注解中的任何一个进行依赖注入,即@Autowired、@Resource 和@Inject。@Autowired 注解属于 core-spring,而另外两个属于 Java 扩展包@javax.annotation.Resource 和@javax.inject.In
阅读更多
X

欢迎加群学习交流

联系我们