(3)回调(可选的)(容器-控制类和组件-回调类) (4)初始化(init-method=\ (5)就绪
(6)销毁(destroy-method=\) 具体情况如下: 1:Bean的建立:
有BeanFactory读取Bean定义文件,并生成各个Bean实例 2:属性注入:
执行相关的Bean属性依赖注入 3:BeanNameAware的setBeanName():
如果Bean类有实现org.springframework.beans.BeanNameAware接口,则执行它的setBeanName()方法
4:BeanFactoryAware的setBeanFactory():
如果Bean类有实现org.springframework.beans.factory.BeanFactoryAware接口,则执行它的setBeanFactory()方法
5:BeanPostProcessors的ProcessBeforeInitialization()
如果任何的org.springframework.beans.factory.config.BeanPostProcessors实例与Bean实例相关。则执行BeanPostProcessors实例 的processBeforeInitialization()方法 6:initializingBean的afterPropertiesSet():
如果Bean类已实现org.springframework.beans.factory.InitializingBean接口,则执行他的afterProPertiesSet()方法
7:Bean定义文件中定义init-method:
可以在Bean定义文件中使用\属性设定方法名称例如: 如果有任何的BeanPostProcessors实例与Bean实例关联,则执行BeanPostProcessors实例的ProcessaAfterInitialization()方法 9:DisposableBean的destroy() 在容器关闭时,如果Bean类有实现 org.springframework.beans.factory.DisposableBean接口,则执行他的destroy()方法 10:Bean定义文件中定义destroy-method 在容器关闭时,可以在Bean定义文件中使用\属性设定方法名称,例如: 如果有以上设定的话,则进行至这个阶段时,就会执行destroyBean()方法,如果是使用ApplicationContext来生成并管理Bean的话 则稍有不同,使用ApplicationContext来生成及管理Bean实例的话,在执行BeanFactoryAware的setBeanFactory()阶段后,若Bean 类上有实现org.springframework.context.ApplicationContextAware接口,则执行其setApplicationContext()方法,接着才执行 BeanPostProcessors的ProcessBeforeInitialization()及之后的流程 7.MVC 的各个部分都有那些技术来实现?如何实现? MVC是Model-View-Controller的简写。\代表的是应用的业务逻辑(通过JavaBean,EJB组件实现), \是应用的表示面(由JSP页面产生),\是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。 8.简述一下java的垃圾回收机制 9.说一说JSP的内置对象及方法 10.什么情况下调用doGet()和doPost()?有什么区别? 11.请简述接口的作用,以及接口和抽象类的区别 1.写一个SQL语句,输出系统当前时间,要求精确到时分秒 2.说一说ORDER BY 和GROUP BY的区别和关系 第三题最难,我擦 ,我直接没做,有3个表,需要实现多关联映射的,这尼玛谁没事记这个代码,我一般直接上网COPY的, ----------------------------------------------------------------------------------- 1.http协议中post和get的区别 (1)get是从服务器上获取数据,post是向服务器传送数据。 (2) 在客户端,Get方式在通过URL提交数据,数据在URL中可以看到;POST 方式,数据放置在HTML HEADER内提交。 (3) 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方 式,服务器端用Request.Form获取提交的数据。 (4) GET方式提交的数据最多只能有1024字节,而POST则没有此限制。 (5) 安全性问题。正如在(1)中提到,使用 Get 的时候,参数会显示在地址栏上, 而 Post 不会。所以,如果这些数据是中文数据而且是非敏感数据,那么使用 get;如果用户输入的数据不是中文字符而且包含敏感数据,那么还是使用 post为好。 2. 同步和异步有何异同,在什么情况下分别使用他们?举例说明。 举个例子:普通B/S模式(同步)AJAX技术(异步) 同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事 异步: 请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕 同步就是你叫我去吃饭,我听到了就和你去吃饭;如果没有听到,你就不停的叫,直到我告诉你听到了,才一起去吃饭。 异步就是你叫我,然后自己去吃饭,我得到消息后可能立即走,也可能等到下班才去吃饭。 所以,要我请你吃饭就用同步的方法,要请我吃饭就用异步的方法,这样你可以省钱。 讯为例 同步:发送一个请求,等待返回,然后再发送下一个请求 异步:发送一个请求,不等待返回,随时可以再发送下一个请求 并发:同时发送多个请求 3.heap和stack有什么区别 1.heap是堆,stack是栈。 2.stack的空间由操作系统自动分配和释放,heap的空间是手动申请和释放的,heap常用new关键字来分配。 3.stack空间有限,存取速度快;heap的空间是很大的自由区,存取速度慢。 在Java中, 若只是声明一个对象,则先在栈内存中为其分配地址空间, 若再new一下,实例化它,则在堆内存中为其分配地址。 4.举例: 数据类型 变量名;这样定义的东西在栈区。 如:Object a =null; 只在栈内存中分配空间 new 数据类型();或者malloc(长度); 这样定义的东西就在堆区 如:Object b =new Object(); 则在堆内存中分配空间 4.forward 和redirect的区别 Forward(转发)是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,所以它的地址栏中还是原来的地址 Redirect(重定向)就是服务端根据逻辑,发送一个状态码,