求大神,本人对spring上下文理解不深入,求讲解。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求大神,本人对spring上下文理解不深入,求讲解。相关的知识,希望对你有一定的参考价值。

参考技术A 几种获取spring环境上下文方法:

获得spring里注册Bean的四种方法,特别是第三种方法,简单:
一:方法一(多在struts框架中)继承BaseDispatchAction

二:方法二实现BeanFactoryAware
一定要在spring.xml中加上:
<bean id="serviceLocator" class="com.am.oa.commons.service.ServiceLocator" singleton="true" />
当对serviceLocator实例时就自动设置BeanFactory,以便后来可直接用beanFactory

三:方法三实现ApplicationContextAware
一定要在spring.xml中加上:
<bean id="SpringContextUtil " class="com.am.oa.commons.service.SpringContextUtil " singleton="true" />
当对SpringContextUtil 实例时就自动设置applicationContext,以便后来可直接用applicationContext

四.通过servlet 或listener设置spring的ApplicationContext,以便后来引用.
注意分别extends ContextLoaderListener和ContextLoaderServlet .然后就可用SpringContext来getBean.
覆盖原来在web.xml中配置的listener或servlet.四.通过servlet 或listener设置spring的ApplicationContext,以便后来引用.注意分别extends ContextLoaderListener和ContextLoaderServlet .然后就可用SpringContext来getBean.
覆盖原来在web.xml中配置的listener或servlet.本回答被提问者和网友采纳
参考技术B 讲解 . 参考技术C spring?哪篇

Jetty 和Netty的区别,求大神能深入浅出给讲解下

参考技术A Netty和mian比较报告
一、数据测试报告
简述:1、启动服务器,等到客户端接入
2、客户端发送链接请求。当已经链接,记录当前时间并向服务端发送约50m数据,每次1kb.
3、当服务端接收到链接,第一次接收到数据后,记录当前时间
4、服务端将接收到的数据再返回给客户端。当服务端接收数据超过50m,则停止接收,并记录当前时间
5、当客户端接收数据量超过50m,记录当前时间。终止链接。
6、服务端和客户端得到执行时间。

netty
mina

Server
client
server
client
第一次
5076
5349
5051
5236
第二次
5375
5490
4902
4976
第三次
5521
5280
4953
5053
第四次
5367
5508
4980
5214
备注:当传输量达到100m时,mina抛异常:java.lang.OutOfMemoryError: Java heap space
结果:mina效率更快,netty性能更稳。

二、codec和handler比较
以下只是个人实践。可能会有其它办法解决。
1、Codec比较
mina编码解码器(codec)创建实例可有以下选择:
1) 每一次接收到的数据创建一次codec实例
2) 为所有client链接创建一次codec实例
netty编码解码器创建实例可有以下选择:
1) 每一次链接创建一次codec实例
2) 为所有client链接创建一次codec实例

2、Handler比较
Mina的handler创建实例可有以下选择:
1) 为所有client链接创建一次codec实例
Netty编码解码器创建实例可有以下选择:
1) 每一次链接创建一次handler实例
2) 为所有client链接创建一次handler实例

三、文档比较
1、netty和mina文档都比较多,但mina文档不齐全,netty文档比较清晰

四、UDP协议传输
1、 netty将UDP无连接的特性暴露出来;而mina对UDP进行了高级层次的抽象,可以把UDP当成"面向连接"的协议,Netty需要手动处理顺序、丢包检测、重发等等。

五、协议支持
Netty架构:

Mina架构
没有找到,但应有类似技术支持。

网上评价:
1. mina将内核和一些特性的联系过于紧密,使得用户在不需要这些特性的时候无法脱离,相比下性能会有所下降;netty解决了这个设计问题。
2. netty基本的架构和mina几乎完全一样,使用时候思想上差不多;但是有很多细节的改进(比如说mina的IoSession每次读写完要调用flip(),netty的channel则不用,并支持zero copy)。
3. netty比mina使用起来更简单。
4. 关于UDP链接:mina把TCP和UDP一样当"有连接"的处理,一个UDP请求会按照address产生一个新的 IoSession,过期时间是1分钟,这样做的好处是显然的,但是对于有性能要求的项目就不好了,对一个无连接的东西cache 1分钟,大多数时候可能是白cache了,做无用功。 Mina这样做可能还有个初衷是连续解码用的,比如一个包太大了,分了两次传输;但是这样的设计应该是udp大忌了。本回答被提问者采纳

以上是关于求大神,本人对spring上下文理解不深入,求讲解。的主要内容,如果未能解决你的问题,请参考以下文章

Jetty 和Netty的区别,求大神能深入浅出给讲解下

JAVA动态规划,最长递增子序列的代码太难理解,求大神帮我讲解一下!

求大神告知阿里巴巴怎样在电脑上下载…最好截图,谢谢

求大神解释解释MVC与SpringMVC是啥,

求大神帮忙看看啥问题

myeclipse2014破解失败了,求大神讲解怎么回事