多年开发经验总结的Java面试题——(六)

  • 来源:网络
  • 更新日期:2020-08-17

摘要:1、web Service 常用注解 客户端如何生成,还是手写(推荐教程:java入门教程)@WebService(serviceName="PojoService", portName="PojoPort", name="PojoPortType", targetNamespac

1、web Service 常用注解 客户端如何生成,还是手写

(推荐教程:java入门教程)

@WebService(serviceName="PojoService", portName="PojoPort", name="PojoPortType", targetNamespace="http//:Pojo")

serviceName 对应 <service name="PojoService">

portName 对应 <service>下的 <port name="PojoPort">       

name 对应 <portType name="PojoPortType">

targetNamespace 对应 targetNamespace="http//:Pojo"

定义schemaLocation的显示

@WebMethod(operationName="queryPojo",exclude=true)

operationName 接口的方法名、exclude 用于阻止将某一继承方法公开为web服务,默认为false

@WebResult(name="returnWord") 接口的返回值

@WebParam(name="cityName")接口的参数

(更多相关面试题推荐:java常见面试题)

2、mybatis处理大数据

分表分为水平分表(hash分表、时间、区间分表)、垂直分表(不常用字段单独表),比如区间分表,有跨表查询情况使用关键字 union union all

3、AOP IOC优点缺点

AOP缺点:性能略低,仅适用于方法调用,必须在Spring容器

AOP优点:从Ioc容器中直接获得一个对象然后直接使用,无需事先创建,让逻辑业务分解,解耦代码,改变了OOP(Object Oriented Programming)面向对象编程的不足

IOC缺点:生成一个对象的步骤变复杂了(忽略),缺少IDE重构的支持,如果修改了类名,还需到XML文件中手动修改,这似乎是所有XML方式的缺憾所在

IOC优点:实现组件之间的解耦,提高程序的灵活性和可维护性

(学习视频推荐:java课程)

4、spring事务传播属性和隔离级别

NEVER 绝对不能有事物,不然报错,有事物的方法调用也不行;

REQUIRED 普通方法调用,单开事物,有事物方法调用,就用有事物方法的事物

REQUIRES_NEW 无论有没有事物的方法调用 我都坚持执行自己的事物

SUPPORTS 有事物的方法调用就用你的,没有就没事物

Dirty Reads 脏读:客户看到的不是数据库真实数据,解决 事物提交前,不允许其他事物访问修改过的值

Phantom Reads 幻像读:一个事务读取到另一个事务里已插入的数据, 解决 其他事物处理完数据前,不允许添加新数据

Non-Repeatable Reads 不可重复读 :后续读取数据读取到其它事务已提交的更新数据,导致前后读取数据不一致,解决 读取数据在修改之后;

5、Spring Mvc返回json技术

第一种:每个json视图controller配置一个Jsoniew

第二种:使用JSON工具将对象序列化成json,常用工具Jackson,fastjson,gson

第三种:利用spring mvc3的注解@ResponseBody