1.继承(inheritance)的优缺点是什么?
优点:
新的实现很容易,因为大部分是继承而来的 。很容易修改和扩展已有的实现
缺点:
打破了封装,因为基类向子类暴露了实现细节 ,白盒重用,因为基类的内部细节通常对子类是可见的,当父类的实现改变时可能要相应的对子类做出改变 ,不能在运行时改变由父类继承来的实现。由此可见,组合比继承具有更大的灵活性和更稳定的结构,一般情况下应该优先考虑组合。只有当下列条件满足时才考虑使用继承:子类是一种特殊的类型,而不只是父类的一个角色,子类的实例不需要变成另一个类的对象子类扩展,而不是覆盖或者使父类的功能失效。
2. 什么是 Spring 的依赖注入?
平常的 java 开发中,程序员在某个类中需要依赖其它类的方法,则通常是 new 一个依赖类再调用类实例的方法,
这种开发存在的问题是 new 的类实例不好统一管理,spring 提出了依赖注入的思想,即依赖类不由程序员实例化,而
是通过 spring 容器帮我们 new 指定实例并且将实例注入到需要该对象的类中。依赖注入的另一种说法是“控制反
转”,通俗的理解是:平常我们 new 一个实例,这个实例的控制权是我们程序员,而控制反转是指 new 实例工作不
由我们程序员来做而是交给 spring 容器来做。
3.SpringMVC 常用注解都有哪些?
@requestMapping 用于请求 url 映射。
@RequestBody 注解实现接收 http 请求的 json 数据,将 json 数据转换为java 对象。
@ResponseBody 注解实现将 controller 方法返回对象转化为 json 响应给客户。