一、springmvc的作用:
1、处理请求,把请求分发到不同类的方法中(满足类似请求:127.0.0.1/xx/xx)
2、ioc 依赖注入,创建实例(通过配置文件xml,<bean id.. class..>,另一种就是通过注解annotation)
3、aop 动态代理,事物控制,我们程序员只要关心我们写的代码
二、自定义注解:
1、元注解:
作用在注解上面的注解
2、@Target:注解作用在什么上面(@Target({ElementType.METHOD}))
3、@Retention:用来表示注解的生命周期(@Retention(RetentionPolicy.RUNTIME))
4、@Document注解 被我们的javadoc扫描到(@Document)
三、包扫描:
根据这个基包com.xx ,扫描到下面的所有子包和所有类
拿到所有类以后,我们就可以得到他的类文件
我们拿到文件以后,我们就可以得到这个文件名
我们有包名+这个文件名,就可以得到基包下的所有了和完整限定名
com.wangyao.service.impl.TestServiceImpl
四、把所有的类new出实例后,我们就要把类中的依赖关系注入进去
拿到类的Class对象
拿到field对象
拿到field上面的annotation对象
根据annotation对象拿annotation对象的属性
把属性当key拿到map中的实例
然后field。set把实例设置进去
五、建立一个url与类中方法的映射关系
其实是同样的做法
拿到类的Class对象
拿到Method对象
拿到Method上面的annotation对象
把url和method对象存到map中