作者:小傅哥
博客:https://bugstack.cn - 包含: Java 基础,面经手册,Netty4.x,手写Spring,用Java实现JVM,重学Java设计模式,SpringBoot中间件开发,IDEA插件开发,DDD系统架构项目开发,字节码编程...
沉淀、分享、成长,让自己和他人都能有所收获!
在编程的路上你是否想过,用汉字写一写代码?
最近有初学编程的小伙伴问小傅哥,汉字可以写代码吗。自己英文不好,要是汉字可以写代码就好了。难道你要的是易语言?其实并不是,小伙伴也是学习 Java 的初学者,刚刚学习到 Spring 看着一片没有注释的代码实在不好理解,要是都是汉字写的,那不和读作文一样了吗!
说到注释,我想到大部分程序员讨厌的两件事;
其实对于学习编程来说,初学时写写案例,完成简单的功能,反复练习夯实基础。数学和英文都还并不是你的绊脚石,因为你不需要做复杂的逻辑处理,比如算法。也不需要查阅大量的资料,比如原版的英文资料以及国内没有翻译的技术书籍等。所以这个时候对你来说,只是需要不断的学,不断的写。并逐步强加自己的数学和英文能力。
回到我们的说的,既然你问汉字可以写代码吗。其实在 java 里,原则上你可以写汉字的类、属性、方法,JVM虚拟机也是可以通过编译执行的。只是这样的代码并不能很好的维护,甚至说乱码了也很麻烦。再者,有人写方言怎么办!
好!那么我们接下来就使用汉字的方式来编写一段关于 SpringAop 的案例!
为了这个案例更加真实,我们模拟电影清朝韦小宝时期,太监入宫的过程。说白了也就是 Spring 的 AOP 面向切面,切的编程。
在做案例之前,我们先了解一下 AOP 的基本概念;
紫禁城.内务府.敬事房.膑.太监膑.净身监管.java
@Aspect
@Component
public class 净身监管 {
@Pointcut("execution(public * 紫禁城.内务府.敬事房.利器库..*.军刺切(..))")
public void 监管员(){
}
@Before("监管员()")
public void 敬事前(){
System.out.println("敬事前:---------准备下刀... ...");
}
@After("监管员()")
public void 敬事后(){
System.out.println("敬事后:---------切面完成... ...");
}
@Around("监管员()")
public Object aroundMethod(ProceedingJoinPoint pjp) throws Throwable {
System.out.println("待切身份:"+pjp.getArgs()[0]);
System.out.println("执行工具:"+pjp.getSignature().getName());
//获得传递对象,并做处理
太监膑 太监 = (太监膑) pjp.getArgs()[0];
SimpleDateFormat timeFormat = new SimpleDateFormat("yyyy-MM-dd");
太监.set敬事日期(timeFormat.format(new Date()));
//此处可以传递更改后的参数
Object obj = pjp.proceed(new Object[]{太监});
return obj;
}
}
紫禁城.内务府.敬事房.利器库.切除器具.java
@Component("切除")
public class 切除器具 {
public 太监膑 军刺切(太监膑 太监){
太监.set性别(宦官.太监.name());
System.out.println("... 啊 ... ...老子被切面了!"+太监.get姓名());
return 太监;
}
}
紫禁城.内务府.敬事房.执刀人.张三丰执刀.java
public class 张三丰执刀 {
public static void main(String[] args) {
ApplicationContext ctx = new ClassPathXmlApplicationContext("皇太极.xml");
太监刑 太监行刑 = ctx.getBean("太监刑",太监刑.class);
太监膑 太监 = new 太监膑();
太监.set姓名("小德张");
太监.set年龄("9");
太监.set性别(宦官.男.name());
太监 = 太监行刑.执行切除(太监);
System.out.println("r
切除状态:"+太监);
}
}
启动方法;紫禁城.内务府.敬事房.执刀人.张三丰执刀.java
待切身份:太监膑 [姓名=小德张, 年龄=9, 性别=男, 敬事日期=]
执行工具:军刺切
敬事前:---------准备下刀... ...
... 啊 ... ...老子被切面了!小德张
敬事后:---------切面完成... ...
切除状态:太监膑 [姓名=小德张, 年龄=9, 性别=太监, 敬事日期=2020-05-05]
Process finished with exit code 0
切面运行效果图
五、总结
更新时间:2024-08-27
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号