手撸golang spring ioc/aop 之1


本文摘自网络,作者,侵删。

手撸golang spring ioc/aop 之1

缘起

最近阅读 [Offer来了:Java面试核心知识点精讲(框架篇)] (王磊 , 2020.6)
本系列笔记拟采用golang练习之

Spring

Spring基于J2EE技术实现了一套轻量级的Java Web Service系统应用框架。
它有很多优秀的特性,很多公司都选择把Spring作为产品或项目的基础开发架构。

Spring的特性包括轻量、控制反转(Inversion of Control, IoC)、面向容器、
面向切面(AspectOriented Programming, AOP)和框架灵活等。

源码gitee地址:
https://gitee.com/ioly/learning.gooop

原文链接:
https://my.oschina.net/ioly

目标

  • 使用golang高仿spring常用注解
    • Bean声明:Component, Service, Controller
    • Bean注入:Autowried
    • 配置: Configuration, Bean, ComponentScan
    • AOP注解:Before, After, Around, PointCut

思路

  • golang的反射API比较弱,没有动态代理,也没有CGLib此等神器
  • 简单点只能走AspectJ路线了:静态编译/autogen
  • Bean声明:就是容器单例/多例模式的应用
  • Bean注入:添加setter方法,供容器注入
  • 配置:添加setter方法,容器将系统配置注入
  • AOP注解:搜索正则匹配的函数,在前后插入切面函数调用

(未完待续)


本文来自:简书

感谢作者:老罗话编程

查看原文:手撸golang spring ioc/aop 之1

相关阅读 >>

Golang如何判断channel已经close

图文讲解Godoc的安装与使用

Go语言中container容器数据结构heap、list、ring

软件测试 编写技术简历的 7 个良心建议!记得收藏!!!

值得推荐的五种自动化代码审查工具

Go compiler intrinsics(文末赠书)

Golang 开发的 web 有哪些框架?

Gox语言中的全局变量与局部变量-gx52

20 Golang中使用第三方包

一文了解Golang slice和string的重用

更多相关阅读请进入《Go》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...