-
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个答案 按时间排序 按投票排序
-
http://blog.csdn.net/fatherican/article/details/9130165
这个帖子里有说明2013年10月18日 14:23
-
此时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
-
你是不是先执行的@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仓库,如果maven下载包的时候速度太慢,可以使用我的这个资源,把这个直接考到本地Maven仓库即可。 对应的Maven依赖如下: <dependency> <groupId>org.codehaus.jackson</...
<artifactId>springmvc</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>springmvc Maven Webapp</name> <url>http://maven.apache.org</url> <properties> <!-- spring ...
<listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> <filter> <filter-name>encodingFilter</filter-name> <filter-class> org....
hibernate-validator-5.2.4.Final.jar是对上述接口的实现;或者在Maven中添加依赖:1.<dependency> 2. <groupId>org.hibernate</groupId> 3. <artifactId>hibernate-validator</artifactId> 4. <version>5.2.4.Final...
<body> <form action="${pageContext.request.contextPath}/my/login" method="post"> <div>${message }</div> 邮箱:<input type="text" name="name"> <br> 密码: <input type="password" name="pwd"> ...
主要介绍了SpringMVC事件监听ApplicationListener实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
</listener> 5. 通过工具获得应用上下文对象 使用WebApplicationContextUtils工具,我们可以获得应用上下文对象ApplicationContext,例如: ApplicationContext applicationContext = WebApplicationContextUtils...
详细的介绍了SpringMVC中文件的上传和下载
本文实例为大家分享了jQuery实现异步上传一个或多个文件的具体代码,供大家参考,具体内容如下 首先使用SpringMvc文件上传,需要引入第三方上传文件的jar: <dependency> <groupId>commons-fileupload</groupId> ...
第一个Spring-SpringMVC-Mybatis项目记录 基本功能点有: 分页 数据校验jquery初步验证+ JSR303初步验证 ... < activeByDefault>true</ activeByDefault> < jdk>1.8</ jdk> </ activation> < properties>
17 <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 18 </listener> 19 20 <filter> 21 <filter-name>encodingFilter</filter-name> 22 <filter-class>org.spring...
<artifactId>jackson-databind</artifactId> <version>2.12.1</version> </dependency> 也配置了转成json解决乱码的问题 <!-- 1、支持HandlerMapper和HandlerAdapter --> <mvc> <!-- 转成json 为UTF-8 ...
微信小程序实现websocket步骤: 后台: 1. 添加maven依赖 2. 创建握手 3. 创建处理器 4. spring配置(xml配置或javabean方式配置任选一种) 微信小程序: 1. 书写连接 java后台 1.添加maven依赖 <!-- ...
使用 Java 反射、注解等技术实现的...实现的注解有:<code>@Autowired</code>、<code>@Controller</code>、<code>@RequestMapping </code>、<code>@Service </code> 核心的代码见 <code>DispatcherServlet</code> 类
SpringMVC实现用户角色管理(springmvc角色权限管理) SpringMVC用户管理实现 通过SpringMVC与JSP实现用户角色管理 SpringMVC实现用户角色管理(springmvc角色权限管理
SpringMVC-Freemarker_Sitemesh3例子, maven构建。
基于springmvc实现文件上传下载 基于AOP的日志功能基于springmvc实现文件上传下载 基于AOP的日志功能基于springmvc实现文件上传下载 基于AOP的日志功能基于springmvc实现文件上传下载 基于AOP的日志功能基于...
Java+tomcat+springMVC;实现用户注册及登陆 .没有Service与dao
SpringMVC用户管理实现 通过SpringMVC与JSP实现用户角色管理
用springmvc框架为别人提供一个接口,返回一串json数据。jsonp服务端。需要调用接口代码也可以联系我。idea。