深入了解 spring mvc 2018-12-02 记录 暂无评论 806 次阅读 之前了解spring boot,其中底层框架使用到的是spring framework,这里就简单的谈谈spring的源码。 读spring源码的好处有对面试有帮助,对学springMVC有帮助,对学springboot有帮助,编程中发生的错误就无需百度或google,能直接知道bug所在,还能借鉴一些设计模式与思路,为编程提供思维指导,并且如果读懂了spring,看其他的框架也没什么可怕的。 spring源码的核心组件: IOC容器负责实例化、定位、配置应用程序中的对象之间的依赖。(最底层就是一个map对象) AOP面向切面编程,通过预编译方式和运行期动态代理实现程序功能的同一维护的一种技术。 以下是IOC容器的底层实现源代码: ![spring mvc.png](https://mufeng-blog.oss-cn-beijing.aliyuncs.com/usr/uploads/2019/03/950276847.png) ![spring mvc2.png](https://mufeng-blog.oss-cn-beijing.aliyuncs.com/usr/uploads/2019/03/1974699790.png) @Controller @Service 注解是什么DisptcherServlet原理与机制 ``` Class> clazz = Class.forName(com.example.demo.service.impl.OrderServiceImpl); clazz.newInstance() // 反射创建OrderServiceImpl实例 A a = new A(); Class> clazz = a.getClass(); // 根据实例拿到A类 Field[] fields = clazz.getDeclaredFields(); // 拿到类里面定义的所有属性 Method[] method = clazz.getMethods(); // 获取类里面的所有方法 method.invoke(instance, args[]) // 底层调用方法,args[] 方法里的参数数组 request.getRequestURI(); // 获取请求路径,比如路径为: ``` >这里的是我的github源码地址:https://github.com/lrteaegg/springmvc.git 注:在创建的时候可能需要依赖注入servlet的jar包,用来处理http的请求 ``` javax.servlet servlet-api 3.0-alpha-1 provided ``` 打赏: 微信, 支付宝 标签: spring mvc 本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。