0 0

springMVC 实现ApplicationListener<ContextRefreshedEvent>接口0

问题是这样的,还请大家仔细看,

public class BeanDefineConfigue  implements ApplicationListener<ContextRefreshedEvent> {

    List<String> list = new ArrayList<String>();
    /**
     * 当一个ApplicationContext被初始化或刷新触发
     */
    @Override
    public void onApplicationEvent(ContextRefreshedEvent event) {
        list.add("111");
    }

此时BeanDefineConfigue在applicationContext.xml中注册,这样的话在程序运行中,list.size() = 2 (除了有一个applicationContext.xml外工程中还有一个spring-servlet.xml)
但假如这样写:
@Service
public class BeanDefineConfigue  implements ApplicationListener<ContextRefreshedEvent> {

    List<String> list = new ArrayList<String>();
    /**
     * 当一个ApplicationContext被初始化或刷新触发
     */
    @Override
    public void onApplicationEvent(ContextRefreshedEvent event) {
        list.add("111");
    }

直接通过注解方式,注册这个bean,这样的话在程序中得到list.size() = 1.
在下百思不得其解,还请大牛帮忙,谢谢
2012年11月27日 11:32

4个答案 按时间排序 按投票排序

0 0

请问怎么解决此加载2次的问题???
QQ:342913415

2015年3月21日 10:55
0 0

http://blog.csdn.net/fatherican/article/details/9130165

这个帖子里有说明

2013年10月18日 14:23
0 0

此时BeanDefineConfigue在applicationContext.xml中注册,这样的话在程序运行中,list.size() = 2 (除了有一个applicationContext.xml外工程中还有一个spring-servlet.xml)

这种情况可能是:
1、在applicationContext.xml中注册并在spring-servlet.xml注册了  贴下配置文件看下
2、在applicationContext.xml中注册,并保持@Service注解

2012年12月04日 19:49
0 0

你是不是先执行的@Service这种方式,此时list.size()=1,然后修改成在applicationContext.xml中注册这种方式,此时spring容器没有重新new BeanDefineConfigue对象,还是使用原来的对象,所以再次出发application refrsh事件后,调用onApplicationEvent方法,而此时BeanDefineConfigue对象中已经保留了原来的一个"111",所以再次执行一次就变成两个"111"了?

可以跟踪一下onApplicationEvent方法的调用次数,看看什么操作导致onApplicationEvent调用两次。

2012年11月27日 14:40

相关推荐

    SpringMVC中json转换所需要的Maven仓库的jar包

    该资源为SpringMVC中json转换所需要的Maven仓库,如果maven下载包的时候速度太慢,可以使用我的这个资源,把这个直接考到本地Maven仓库即可。 对应的Maven依赖如下: &lt;dependency&gt; &lt;groupId&gt;org.codehaus.jackson&lt;/...

    mac下mvn搭建web工程

    &lt;artifactId&gt;springmvc&lt;/artifactId&gt; &lt;packaging&gt;war&lt;/packaging&gt; &lt;version&gt;0.0.1-SNAPSHOT&lt;/version&gt; &lt;name&gt;springmvc Maven Webapp&lt;/name&gt; &lt;url&gt;http://maven.apache.org&lt;/url&gt; &lt;properties&gt; &lt;!-- spring ...

    Spring MVC 框架应用实例

    &lt;listener&gt; &lt;listener-class&gt; org.springframework.web.context.ContextLoaderListener &lt;/listener-class&gt; &lt;/listener&gt; &lt;filter&gt; &lt;filter-name&gt;encodingFilter&lt;/filter-name&gt; &lt;filter-class&gt; org....

    SpringMVC使用JSR-303进行验证Bean.docx

    hibernate-validator-5.2.4.Final.jar是对上述接口的实现;或者在Maven中添加依赖:1.&lt;dependency&gt; 2. &lt;groupId&gt;org.hibernate&lt;/groupId&gt; 3. &lt;artifactId&gt;hibernate-validator&lt;/artifactId&gt; 4. &lt;version&gt;5.2.4.Final...

    springMVC+mybatis

    &lt;body&gt; &lt;form action="${pageContext.request.contextPath}/my/login" method="post"&gt; &lt;div&gt;${message }&lt;/div&gt; 邮箱:&lt;input type="text" name="name"&gt; &lt;br&gt; 密码: &lt;input type="password" name="pwd"&gt; ...

    SpringMVC事件监听ApplicationListener实例解析

    主要介绍了SpringMVC事件监听ApplicationListener实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    Spring与Web环境集成.pdf

    &lt;/listener&gt; 5. 通过工具获得应用上下文对象 使用WebApplicationContextUtils工具,我们可以获得应用上下文对象ApplicationContext,例如: ApplicationContext applicationContext = WebApplicationContextUtils...

    SpringMVC中文件的上传和下载

    详细的介绍了SpringMVC中文件的上传和下载

    jQuery实现异步上传一个或多个文件

    本文实例为大家分享了jQuery实现异步上传一个或多个文件的具体代码,供大家参考,具体内容如下 首先使用SpringMvc文件上传,需要引入第三方上传文件的jar: &lt;dependency&gt; &lt;groupId&gt;commons-fileupload&lt;/groupId&gt; ...

    firstssm:我的第一个Spring-SpringMVC-Mybatis应用程序

    第一个Spring-SpringMVC-Mybatis项目记录 基本功能点有: 分页 数据校验jquery初步验证+ JSR303初步验证 ... &lt; activeByDefault&gt;true&lt;/ activeByDefault&gt; &lt; jdk&gt;1.8&lt;/ jdk&gt; &lt;/ activation&gt; &lt; properties&gt;

    Spring MVC 入门实例

    17 &lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener&lt;/listener-class&gt; 18 &lt;/listener&gt; 19 20 &lt;filter&gt; 21 &lt;filter-name&gt;encodingFilter&lt;/filter-name&gt; 22 &lt;filter-class&gt;org.spring...

    springmvc-ajax

    &lt;artifactId&gt;jackson-databind&lt;/artifactId&gt; &lt;version&gt;2.12.1&lt;/version&gt; &lt;/dependency&gt; 也配置了转成json解决乱码的问题 &lt;!-- 1、支持HandlerMapper和HandlerAdapter --&gt; &lt;mvc&gt; &lt;!-- 转成json 为UTF-8 ...

    微信小程序 websocket 实现SpringMVC+Spring+Mybatis

    微信小程序实现websocket步骤: 后台: 1. 添加maven依赖 2. 创建握手 3. 创建处理器 4. spring配置(xml配置或javabean方式配置任选一种) 微信小程序: 1. 书写连接 java后台 1.添加maven依赖 &lt;!-- ...

    spring framework mvc 框架

    使用 Java 反射、注解等技术实现的...实现的注解有:&lt;code&gt;@Autowired&lt;/code&gt;、&lt;code&gt;@Controller&lt;/code&gt;、&lt;code&gt;@RequestMapping &lt;/code&gt;、&lt;code&gt;@Service &lt;/code&gt; 核心的代码见 &lt;code&gt;DispatcherServlet&lt;/code&gt; 类

    SpringMVC实现用户角色管理(springmvc角色权限管理)

    SpringMVC实现用户角色管理(springmvc角色权限管理) SpringMVC用户管理实现 通过SpringMVC与JSP实现用户角色管理 SpringMVC实现用户角色管理(springmvc角色权限管理

    SpringMVC-Freemarker_Sitemesh3例子

    SpringMVC-Freemarker_Sitemesh3例子, maven构建。

    基于springmvc实现文件上传下载 基于AOP的日志功能

    基于springmvc实现文件上传下载 基于AOP的日志功能基于springmvc实现文件上传下载 基于AOP的日志功能基于springmvc实现文件上传下载 基于AOP的日志功能基于springmvc实现文件上传下载 基于AOP的日志功能基于...

    springMVC实现用户注册及登陆

    Java+tomcat+springMVC;实现用户注册及登陆 .没有Service与dao

    SpringMVC实现用户角色管理

    SpringMVC用户管理实现 通过SpringMVC与JSP实现用户角色管理

    springmvc简单框架提供的jsonp服务端接口

    用springmvc框架为别人提供一个接口,返回一串json数据。jsonp服务端。需要调用接口代码也可以联系我。idea。

Global site tag (gtag.js) - Google Analytics