今天连下数据库,不小心打成netstart mysql了,好糗。。以后等时机到了笔记也该换成markdown写了,好久没写md后面得复习下。
然后idea这边连数据库很简单不用写专门的程序,右侧栏database直接可以点开具体到连接某个数据库。
记录一下注解的原理和作用:
以前,『XML』是各大框架的青睐者,它以松耦合的方式完成了框架中几乎所有的配置,但是随着项目越来越庞大,『XML』的内容也越来越复杂,维护成本变高。
于是就有人提出来一种标记式高耦合的配置方式,『注解』。方法上可以进行注解,类上也可以注解,字段属性上也可以注解,反正几乎需要配置的地方都可以进行注解。
关于『注解』和『XML』两种不同的配置模式,争论了好多年了,各有各的优劣,注解可以提供更大的便捷性,易于维护修改,但耦合度高,而 XML 相对于注解则是相反的。
追求低耦合就要抛弃高效率,追求效率必然会遇到耦合。本文意不再辨析两者谁优谁劣,而在于以最简单的语言介绍注解相关的基本内容。——转载自JAVA 注解的基本原理 - Single_Yam - 博客园 (cnblogs.com)
这里可以看出注解其实是一种配置方法,相对于xml更追求低耦合带来的高效。
所有注解类都继承自java.lang.annotation.Annotation这个接口
public interface Override extends Annotation{ }
上面是Override的定义,其实只是个继承Annotation接口的接口。
也就是说如果没有编译器对于注解的处理,注解就只是一个继承了接口的特殊的注释。
而解析一个类或者方法的注解往往有两种形式,一种是编译期直接的扫描,一种是运行期反射。反射的事情我们待会说,而编译器的扫描指的是编译器在对 java 代码编译字节码的过程中会检测到某个类或者方法被一些注解修饰,这时它就会对于这些注解进行某些处理。
典型的就是注解 @Override,一旦编译器检测到某个方法被修饰了 @Override 注解,编译器就会检查当前方法的方法签名是否真正重写了父类的某个方法,也就是比较父类中是否具有一个同样的方法签名。
有关注解暂时先理解到这,感觉继续深入对目前的学习进度没有大用,可以认为注解的功能来自于编译器。
标签:XML,springboot,学习,耦合,编译器,Override,注解,方法,日记 From: https://www.cnblogs.com/yiwenwong/p/17823635.html