AspectJ中注入Spring管理的对象

Spring @Aspect切面无法使用@Autowired注入以及获取被切方法中的某个参数或者某个对象,也无法使用构造器。熟知Spring框架的同学应该知道,有被@AspectJ注解的切面是在Spring容器之外创建的,因此不受Spring容器管理声明周期,并且该实例是单例,在@AspectJ注解的类中,编译后我们就会发现多一个方法:aspectOf(),Aspect切面对象也就是由该方法创建。想要在Spring中对切面进行有效注入,那么必须将该类交由Spring管理。写到这你是不是已经知道怎么处理了呢?

6天 ago

linux 服务安装 Anaconda2

Anaconda(官方网站)就是可以便捷获取包且对包能够进行管理,同时对环境可以统一管理的发行版本。Anaconda包含了conda、Python在内的超过180个科学包及其依赖项。

Anaconda具有如下特点:1. 开源;2. 安装过程简单;3. 高性能使用Python和R语言;4. 免费的社区支持

其特点的实现主要基于Anaconda拥有的:1. 拥有完整的conda依赖包;2.良好的环境管理器;3.1,000+开源库(模块)

如果日常工作或学习并不必要使用1,000多个库,那么可以考虑安装Miniconda(图形界面下载及命令行安装请戳),这里不过多介绍Miniconda的安装及使用。

1年 ago

AOP 的利器:ASM 3.0 介绍

ASM 是一个 Java 字节码操控框架。它能被用来动态生成类或者增强既有类的功能。ASM 可以直接产生二进制 class 文件,也可以在类被加载入 Java 虚拟机之前动态改变类行为。Java class 被存储在严格格式定义的 .class 文件里,这些类文件拥有足够的元数据来解析类中的所有元素:类名称、方法、属性以及 Java 字节码(指令)。ASM 从类文件中读入信息后,能够改变类行为,分析类信息,甚至能够根据用户要求生成新类。

与 BCEL 和 SERL 不同,ASM 提供了更为现代的编程模型。对于 ASM 来说,Java class 被描述为一棵树;使用 “Visitor” 模式遍历整个二进制结构;事件驱动的处理方式使得用户只需要关注于对其编程有意义的部分,而不必了解 Java 类文件格式的所有细节:ASM 框架提供了默认的 “response taker” 处理这一切。

1年 ago

Ubutun 16.04 编译安装 PHP7.4 稳定版

./configure –prefix=/usr/local/php –with-config-file-path=/etc –enable-fpm –with-fpm-user=www –with-fpm-group=www –enable-pdo –with-mysqli –with-pdo-mysql –with-mysql-sock –with-pdo-sqlite –with-iconv-dir –with-freetype-dir –with-png-dir=/usr/local/include/libpng16 –with-jpeg-dir –with-zlib –with-zlib-dir –with-iconv –with-bz2 –enable-libxml –with-libxml-dir –with-readline –enable-xml –with-xmlrpc –disable-debug –disable-rpath –enable-bcmath –enable-session –enable-shmop –enable-simplexml –enable-sockets –enable-sysvmsg –enable-sysvsem –enable-sysvshm –enable-wddx –enable-shared –enable-inline-optimization –enable-filter –with-libdir=lib64 –with-xsl –with-curl …《more》

1年 ago

Maven 打包 jar 包的四种方式

Maven 打包 jar 包可分为两种:可执行 jar 包和不可执行 jar 包。顾名思义,可执行就是可以通过命令启动程序:java -jar xxx-demo.jar,不可执行则使用该命令会报 no main manifest attribute, in xxx.jar错误。

1年 ago

05-Docker仓库

Docker 官方维护了一个公共仓库,大约有上万个镜像,大多数情况下,我们可以直接使用该仓库中的镜像部署服务。

通过在 Docker Hub 注册账户,获得一个 dockerId,可能很多人在 Mac 版的 Docker 中看到登录时需要一个 dockerID,其实这个dockerId 就是登录账号。

在 Docker Hub 的 WEB 站点,可以搜索自己感兴趣的镜像,还可以查看镜像的参数,比如nginx、mysql等,可以看到数据nginx html 页面保存的目录,端口配置,可以看到MySQL用户名和密码的设置参数等信息。

2年 ago