长时间不复习以前学过的知识,难免会被遗忘。这份核心知识清单是为了帮助我们系统地掌握Java的核心知识。
1、Struts2和SpringMVC的区别
(1)设计理念:前者为有状态的Action(均为多例),Action对象属性字段承载请求。响应,后者一般为无状态的Controler,请求直接包装在方法参数中;
(2)集中访问点不同:都属于接收请求、处理请求和生成响应的前端控制器,但集中访问点不同,前者是Filter,后者是Servlet;
(3)请求处理粒度不同:前者对应一个请求上下文,后者对应一个请求上下文,更容易实现Rest;
(4)拦截器机制不同:Struts2和SpringMVC的拦截器机制都是AOP概念的应用,但Struts2的interceptor机制是通过代理机制(ActionProxy)+责任链模式实现的,而SpringMVC的interceptor机制相对简单,在handler处理请求前后通过循环调用prehandle()方法和posthandle()方法处理请求和响应
(5)对ajax的支持不同:前者需要插件或手动转换,后者集成了对ajax请求的处理(HttpMessageconverter);
(6)与Spring的整合:前者需要插件,后者需要无缝整合(子容器);
(7)配置/效率:后者几乎零配置,开发效率更高。
2、理解Spring中的IOC
(1)超大型工厂:对象控制权由调用移交给容器,使调用者不必关心对象的创建和管理,专注于业务逻辑的发展;
(2)优秀的解耦方式,解耦对象之间的依赖关系,避免硬编码耦合;
(3)底层实现:反射机制;
3、理解Spring中的AOP
(1)一种新的模块化方式,专门处理系统各模块中的交叉关注点,将具有横切性质的系统级业务提取到切面,与核心业务逻辑分离(解耦);
(2)便于系统扩展,符合开闭原则;
(3)动态AOP的实现,Java动态代理(接口代理)和cglib(类代理)由Bean后处理器生成;
(4)AOP概念实践:SpringAOP、JavaWebFilter、Struts2Interceptor、SpringMVCInterceptor
以上就是小编为大家整理发布的“Java主要知识点”一文,更多相关内容尽在开课吧广场Java教程频道。
