注解:
http://josh-persistence.iteye.com/blog/2226493
http://wiki.jikexueyuan.com/project/java-reflection/java-at.html
http://www.infoq.com/cn/articles/cf-java-annotation
动态代理:
http://www.kancloud.cn/digest/sshssh/119609
结合这两个,可以理解spring-boot里的各种注解实现功能了。
比如,SpringApplication.run(HelloController.class, args);,这里,run函数应该就实现了一系列的获取注解、执行操作等方法,这些是封装好了的。
这就是框架的魅力,我们要操作的是部分的代码,具体怎么去调用实现,会在框架里执行。