Springboot JavaEE @Resource 注解解释
@Resource 是 Java EE(也称为 Jakarta EE)中的注解,但也可以用于 Spring 框架中来实现依赖注入。它主要用于标识依赖对象,并将该对象注入到类的字段、方法或构造函数中。
与 @Autowired 的区别在 Spring 中,@Resource 和 @Autowired 都可以用来实现依赖注入,但它们有以下区别:
@Resource 来自 Java EE:
@Resource 注解源自 Java EE 规范(javax.annotation.Resource),它遵循 Java 的标准,兼容多个依赖注入框架。
它使用 by name 的方式进行注入。即优先按名称(通过字段名或属性名)查找 Bean 进行注入,如果找不到与名称匹配的 Bean,再根据类型查找。
@Autowired 来自 Spring:
@Autowired 是 Spring 框架特有的注解,默认使用 by type 的方式进行注入,按类型匹配所需的依赖对象。
如果需要按名称注入,可以配合 @Qualifier 注解使用。
@Resource 的使用@Resource 注解可以 ...
Springboot Spring @Component 注解解释
@Component 是 Spring Framework 中的一个注解,用于将一个类标识为 Spring 容器的组件。它是 Spring 的一种构造方式,允许开发者以注解的方式定义 Bean,从而使得 Spring 能够自动扫描并注册这些类为 Bean。
主要特点
自动扫描:
Spring 可以通过类路径扫描来检测被 @Component 注解标记的类,并将其自动注册为 Spring 容器中的 Bean。这个过程通常在应用启动时发生。
泛化的组件定义:
@Component 是一个泛化的注解,意味着它可以用于任何类型的类。Spring 提供了其他特定功能的注解,例如 @Service(用于服务层组件)、@Repository(用于数据访问层组件)和 @Controller(用于控制层组件),这些注解实际上都是基于 @Component 的。
与依赖注入结合使用:
被 @Component 注解的类可以通过 Spring 的依赖注入机制(如 @Autowired)注入到其他组件中,促进了松耦合的设计。
示例下面是一个简单的使用 @Component 注解的示例:
i ...
Springboot Spring Security 的基础解释
最简单的 SpringSecurity 配置(毫无意义,基础)这段代码是一个 Spring Security 的配置类,用于定义应用程序的安全过滤链(SecurityFilterChain)。下面我将详细解释这段代码的执行过程以及它的作用。
@Configurationpublic class SecurityConfiguration { @Bean SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { return http.build(); }}
代码解析1. @Configuration 注解
作用:标识该类是一个配置类,类似于 Spring 的 XML 配置文件。
功能:Spring 在启动时会扫描被 @Configuration 注解的类,将其中定义的 Bean 注册到应用程序的上下文中。
2. @Bean 注解
作用:标记方法的返回值应该作为一个 Bean,被 Spring 容器管理。
功能:当 S ...
Springboot Spring @Configuration 和 @Bean 注解解释
@Configuration 注解在 Spring Framework 中,@Configuration 是一个注解,用于定义配置类。配置类是用来替代 XML 配置文件的,它可以用来声明 Bean 和配置 Spring 容器中的依赖关系。
具体来说,@Configuration 注解表明该类是一个配置类,负责创建和管理 Spring 容器中的 Bean。通常,与 @Bean 注解一起使用,@Bean 用于方法上,指示该方法返回一个要被 Spring 管理的 Bean 实例。
示例:@Configurationpublic class AppConfig { @Bean public MyService myService() { return new MyServiceImpl(); }}
工作原理:
当 Spring 容器启动时,它会扫描带有 @Configuration 注解的类。
容器会执行这些类中的 @Bean 方法,并将返回的对象作为 Bean 注册到 Spring 的 IoC 容器中。
这些 Bean ...
The usage of Signal in Godot 4
BindUsing bind() method is useful when connecting a signal.
In fact, bind is not a method for signal but for function (or Callable class in Godot).
For example, we have three button on our start menu.
@onready var start: Button = %Start@onready var settings: Button = %Settings@onready var quit: Button = %Quit
Then we can bind the start event in _ready() method, and parse some custom parameter using bind() function. For example:
func _ready() -> void: start.pressed.connect(handle_menu_press. ...
在 Godot 中实现超大数十六进制转十进制
使用 Godot 引擎实现以太坊仪表盘 🛠️✨今天我打算分享一个如何使用 Godot 引擎实现以太坊仪表盘的项目。Godot 引擎是一款类 Python 语言开发工具,所见即所得的开发过程非常方便和高效。
本项目的数据获取采用了 Etherscan API 和 JSON-RPC 接口。以下是详细的实现过程和相关代码。
Etherscan 的数据获取 📊原先我使用 Etherscan API 获取账户数据。Etherscan 提供的 API 非常简单,只需要提供地址和 API Token,就能返回所需的数据,数据以 JSON 格式展示:
request_url = """https://api.etherscan.io/api ?module=account &action=balance &address=0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae &tag=latest &apikey=YourApiKeyToken"""
返 ...
获取和某个智能合约交互的所有地址
本项目已经开源到 GitHub 中,地址为:https://github.com/hubei-xhjy/blockchain-history-analyzer
Eigenlayer 交互地址查询1. get_txn_by_etherscan.py1. 获取 EigenLayer 合约地址一般上,项目都会在他们的官网提供合约地址。通常在 Documentation 文档中。
如 EigenLayer 的官网: https://www.eigenlayer.xyz/
打开 Documentation 页面
直接搜索 Contract,找到类似 Contract Address
会跳转到这里: https://docs.eigenlayer.xyz/eigenlayer/deployed-contracts/
从文档中可以看到,这里提供了几个站外连接,我们点击 README.md 文档
这时候会跳转到 GitHub(其他项目会有不同的方法,可能直接写在页面中)
https://github.com/Layr-Labs/eigenlayer-contracts?tab=readme- ...
Git Branch 分支的用法以及使用场景
Git 分支(branch)是 Git 中一项非常重要的功能,它允许您从主开发线(通常是 main 或 master 分支)分离出来,独立进行开发。这样做的主要目的是保持主开发线的稳定性,同时允许多个开发者或团队并行工作于不同的功能或修复上。
Git 分支的基本用法
创建分支:
git branch <branch-name>
这个命令会创建一个新的分支,但不会自动切换到该分支。
切换分支:
git checkout <branch-name>
使用这个命令切换到已有的分支。也可以使用 git switch <branch-name>,这是一个较新的命令,作用相同。
合并分支:
git merge <branch-name>
当在一个分支上的开发完成并且准备合并回主分支时,使用这个命令。这将会把 <branch-name> 分支的变更合并到当前分支。
删除分支:
git branch -d <branch-name>
当完成分支的所有工作并已经合并回主分支后,可以使用这个命令删除不再需要的分支 ...
加密货币行业交易现状
tl;dr目前市场都是的股民都是笨蛋,人家讲什么就投资什么。所以市场波动超级无敌大。
比如说 A 和 B 说这个很赚钱,B 就去买了,没有去关注它为什么赚钱,甚至还教唆 C 去买
结果一堆人去买,市值就起来了,但是没有东西去支撑它,最后一定会有人高价卖掉,市值就掉回来了。比如 A 和 B 最高点卖掉了,C 以为可以再等等,最后等崩了
然后那些听别人话的笨蛋,以为市值会一直涨,但是没有关注相关信息。就亏半死
然后这个相关信息不是“技术突破”,更多时候是某个名人去买了这个,跟风效应产生的虚假市值
这个行业现阶段很重要的点,整个交易环境还是处于一种很浮躁的状态,大部分的交易都是由【叙事 和 情绪】主导的。这也会导致市值上下波动非常大,这就是为什么总会看到报纸上“谁谁谁被骗 / 损失多少钱”相关新闻。
理论上区块链技术应该是以【技术】为主导,技术决定市值,因为区块链的底层就是代码,未来必然会奔着实用性去发展,技术价值必然存在。但是现阶段要入局需要对整个金融行业(不只是技术)有了解。
而且通过以往报纸分析,很多时候都是以“赚快钱”的角度去对待加密货币。人是很难赚到自己认知之外的钱的。这种新兴技 ...
区块链交易的安全须知
谁也不想自己辛辛苦苦赚的钱被盗走,这里是我这几天参考资料后做的一些总结。当然,道高一尺魔高一丈,不确定的事情就再三通过 Discord / Twitter / 官网 等官方渠道去获取信息。