1. 注解实现机制:
1. 结合xml理解注解。
注解:分散式的元数据,与源代码紧绑定。
xml: 集中式的元数据,与源代码无绑定。
2. 注解一般可分三类:
java自带的标准注解,包括@Override(表重写某方法)、@Deprecated(表过时)、@SuppressWarnings(表要忽略的警告)。
元注解,用于定义注解的注解。包括@Retention(表被保留的阶段)、@Target(表使用范围)、@Inherited(表可继承)、@Documented(表可否生成javadoc文档)。
自定义注解。
3. 注解用途。
1. 生成javadoc文档。2. 编译器编译期间检查验证。3. 编译时动态处理,如生成代码。4. 运行时动态处理,如配合反射注入实例。
4. Annotation类。
5. 注解处理器。
注解处理器实现注解上述的4大功能。
注解处理器的实现赖于java.lang.reflect.AnnotatedElement接口。
该接口有4个方法,getAnnotation, getAnnotations, isAnnotationPresent, getDeclaredAnnotations。
大部分都实现该接口。比如,class、constructor、field、method、package等。
6. @controller注解实现流程(待详细研究)。
1.spring框架的注解都是在running状态下的。运行时加载的文件都是已经编译后的.class文件。
2. springBoot 默认配置component-scan属性base-package(@SpringBootApplication注解有该属性配置)。
3. @Component注解(表该类对象以默认单例模式存放于spring容器框架中)。
4. 利用asm技术扫描class文件,转化成Springbean结构,把符合扫描规则的(主要是是否有相关的注解标注,@Component以及@Controller)bean注册到Spring 容器中beanFactory。
2. java包:
java.lang | 基础类库。包含Object、Math、String、System、Thread、Annotation(注解)等。 |
java.util | 工具类库。包含Date(日期)、Calendar(日历)、Random、Stack、Vector、Hashtable等。 |
java.io | 输入输出。包含字符流:Reader、Writer 字节流:InputStream、OutputStream等。 |
java.net | 包含URL、Socket等。实现HTTP、TCP、UDP等协议通信的类。 |
java.sql | 包含Connection、Driver、Statement、ResultSet、SQLException等接口/类。 |
java.awt/java.swing | java的图形界面库。 |
java.text | 格式化文本、日期、数字、消息。包含Format抽象类及其下的MessageFormat等具体类。 |