欢迎来到天天文库
浏览记录
ID:22581145
大小:278.76 KB
页数:18页
时间:2018-10-30
《2017全面java面试经历总结》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、2017JAVA面试经验问题0、对SSH的理解:SSH即:Struts(表示层)+Spring(业务层)+Hibernate(持久层)Struts:Struts是一个表示层框架,主要作用是界面展示,接收请求,分发请求。在MVC框架中,Struts属于VC层次,负责界面表现,负责MVC关系的分发。(View:沿用JSP,HTTP,Form,Tag,Resourse;Controller:ActionServlet,struts-config.xml,Action)Hibernate:Hibernate是一个持久层框架
2、,它只负责与关系数据库的操作。Spring:Spring是一个业务层框架,是一个整合的框架,能够很好地黏合表示层与持久层。1、对Spring的相关理解Spring框架目的是为了让模块与模块(对象与对象)之间的关联不是通过代码来关联而是通过配置来关联。Spring的核心是TOC与A0P。IOC(InversionofControl)控制反转是关于一个对象如何获取他所依赖的对象的引用,这个责任的反转。控制反转可以理解力生产和管理Bean的容器,原来需要在调用类中New的东西,现在都有I0C容器产生。I0C的三种注入方式
3、:inject1、根据属性注入也就是Set方法注入2、根据构造方法注入3、根据注解注入I0C最大的好处是什么?因为把对象生成放在了XML里定义,所以当我们需要换一个实现子类将会变成很简单(一般这样的对象都是实现于某种接U的),只要修改XML就可以了,这样我们其至可以实现对象的热插拔(有点像USB接口和SCSI硬盘丫)。DI依赖注入:Dependencyinjection依赖注入是一个IOC的特殊实现,依赖注入是指一个对象应用另外一个对象来提供一个特殊的能力,例如:把一个数据库连接以参数的形式传到一个对象的结构方法里
4、面而不是在那个对象A部自行创建一个连接。控制反转和依赖注入的棊本思想就是把类的依赖从类内部转化到外部以减少依赖。AOP(AspectOrientedProgramming):针对一个切面来编程。AOP面向切面编程将程序中的交叉、Ik.务逻辑(比如安全,日志,事务等),封装成••个切面/然后注入到R标对象(具体业务逻辑)屮去。面向切面编程通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.A0P可以理解为实现调用某个方法之前或者之后,自动执行一系列自定义的语句(例如:每做一次数据库操作都要生成一句H志)。
5、实现AOP功能采用的是代理技术,客户端程序不再调用0标,而调用代理类,代理类与目标类对外具有和同的方法声明,有两种方式可以实现和同的方法声明,一是实现相同的接口,二是作为目标的子类在,JDK中釆用Prox类产生动态代理的方式为某个接口生成实现类,如果要为某个类生成子类,则可以用CGLB。AOP的主要作用是:日志记录,性能统计,安全控制,事务处理,异常处理等等A0P与OOP的区别:OOP(面向对象编程)针对业务处理过程的实体及其属性和行为进行抽象封装,以获得更加清晰高效的逻辑单元划分。举个简单的例子,对于“雇员”这样
6、一个业务实体进行封装,自然是OOP/OOD的任务,我们可以为其建立一个“Employee”类,并将“雇员”相关的属性和行为封装其中。而用AOP设计思想对“雇员”进行封装将无从谈起。同样,对于“权限检査”这一动作片断进行划分,则是AOP的0标领域。而通过OOD/OOP对一个动作进行封装,则有点不伦不类。换而言之,OOD/OOP面向名词领域,AOP面向动词领域。1.1.Spring常用注解K©Controller用于标注控制层组件(如struts屮的action),负责注册一个bean到spring上下文中,bean的
7、1D默认力类名称开头字母小写。例如:©ControllerpublicclassUserActionextendsBaseAction{}•或者©Controller("userAction")使用©Controller注解标识UserAction之后,就表示要把UserAction交给Spring容器管理,在Spring容器中会存在•一个名字为"userAction"的action,这个名字是根据UserAction类名来取的。2、©Service©Service对座的是业务层Bean,例如:@Service(〃
8、userService〃)publicclassUserScrvicelmplimplementsUscrService{}3、©Repository用于标注数据访问组件,即DAO组件。例如:©Repository(value=〃userDao〃)publicclassUserDaoTmplextendsBaseDaoTmpl{}4、©Reque
此文档下载收益归作者所有