spring利用ApplicationListener自启动】的更多相关文章

近期在用mina获取server的数据,但没有和spring进行集成,就利用ApplicationListener实现了自启动 package com.gamesvr.minaenpo; import javax.annotation.Resource; import org.springframework.context.ApplicationListener; import org.springframework.context.event.ContextRefreshedEvent; im…
一.相对路径还是绝对路径的问题 前端页面加载资源或者请求的时候到底是使用相对路径还是绝对路径,想必大家都很清楚,用的是当然是相对路径,因为这样增加了项目的灵活性,不需要经常的改动.那既然是相对路径就需要在页面中小心使用了,一旦使用错误,讨厌的404就会来了,相当讨人厌. 二.相对路径的获取 相对路径的获取办法也有好多种 1. 一种是在jsp页面利用<%%>来拼凑路径,然后配置base路径,代码如下 <% String path = request.getContextPath(); St…
Spring通过ApplicationListener接口来触发contextrefreshedevent事件在开发时有时候需要在整个应用开始运行时执行一些特定代码,比如初始化环境,准备测试数据.加载一些数据到内存等等.在Spring中可以通过ApplicationListener来实现相关的功能,加载完成后触发contextrefreshedevent事件(上下文件刷新事件) 例如:定时任务 上述中解决了一个问题: 会存在一个问题,在web 项目中(spring mvc),系统会存在两个容器,…
1.spring利用注解来定义bean,或者利用注解来注册装配bean.包括注册到ioc中,装配包括成员变量的自动注入. 1.spring会自动扫描所有类的注解,扫描这些注解后,spring会将这些bean注册到ioc容器中.省去了xml文件的书写bean方法. 2.spring会自动扫描这些注解,spring会自动扫描这些注解. 配置<context:component-sacn base-package="xxxx">后,spring就会自动扫描注解.扫描指定包下所有内…
原文地址:spring利用javamail,quartz定时发送邮件 <转>作者:物是人非 spring提供的定时发送邮件功能,下面是一个简单的例子以供大家参考,首先从spring配置文件开始吧:    <!-- *****定时任务开始************** -->   <!-- 定时发送邮件填写timesheet通知-->        <bean id="JobServiceImpl" class="com.mdcl.tim…
  Hey Girl   博客园    首页    博问    闪存    新随笔    订阅     管理 posts - 42,  comments - 3,  trackbacks - 0 Spring的PropertyPlaceholderConfigurer应用 转载地址:http://www.cnblogs.com/yl2755/archive/2012/05/06/2486752.html Spring 利用PropertyPlaceholderConfigurer占位符 1. P…
spring利用后置处理器初始化bean属性 参考:http://blog.csdn.net/heyutao007/article/details/50326793 @Configurable @EnableScheduling 这两个注解和这个例子无关,是下面定时器的注解.…
背景 ApplicationListener是Spring事件机制的一部分,与抽象类ApplicationEvent类配合来完成ApplicationContext的事件机制. 如果容器中存在ApplicationListener的Bean,当ApplicationContext调用publishEvent方法时,对应的Bean会被触发.这一过程是典型的观察者模式的实现. ApplicationListener源码 @FunctionalInterface public interface Ap…
基本原理: 1.Spring的ApplicationListener和ContextRefreshedEvent一般都是成对出现的. 2.在IOC的容器的启动过程中,当所有的bean都已经处理完成之后,spring ioc容器会有一个发布事件的动作. 3.当该发布事件的监听者监听到此动作时,ApplicationListener接口实例中的onApplicationEvent(E event)方法就会被调用. 4.调用该方法时,通过父类找到实现类,再根据业务场景(以下示例中为serviceID)…
1.ApplicationListener在使用过程中可以监听某一事件的发生,可以做出相应的处理,这个方式不常用,但是在特殊情况下面还是有用的. 2.导包pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apac…
1.我们在使用springmvc进行配置的时候一般初始化都是在web.xml里面进行的,但是自己在使用的时候经常会测试一些数据,这样就只有加载spring-mvc.xml的配置文件来实现.为了更方便的使用注解,而不影响具体的实现效果,我今天看到了一个初始化的方式,就是实现ApplicationListener接口 2.spring容器加载bean完成后进行初始化 package com.cy.init; import org.springframework.context.Application…
1.我们在使用springmvc进行配置的时候一般初始化都是在web.xml里面进行的,但是自己在使用的时候经常会测试一些数据,这样就只有加载spring-mvc.xml的配置文件来实现.为了更方便的使用注解,而不影响具体的实现效果,我今天看到了一个初始化的方式,就是实现ApplicationListener接口 2.导包pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http:…
利用扫描的方式将组件注入容器,就也可以不用操作bean来实例化对象了. 下面我做一个例子 我用的spring3.2.2版本的 首先写一个spring.xml. <?xml version="1.0"encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/…
1.实现ApplicationListener接口,并重写onApplicationEvent方法 @Component public class RSAKeyInitListener implements ApplicationListener<ContextRefreshedEvent> { @Autowired BaseAppConfigDao baseAppConfigDao; @Override public void onApplicationEvent(ContextRefres…
在开发中会经常遇到做定时任务的需求,例如日志定时清理与处理,数据信息定时同步等需求. 1.在spring中利用xml配置定时任务,如下 <!-- ftpiptv信息同步接口定时任务配置--> <!-- 定时任务要工作的bean--> <bean id="ftpIptvInfo" class="com.zznode.task.TerminalTestTask"/> <!-- 定义生成工作对象的工厂,并为工厂设定目标对象targ…
说到事件监听,想到的肯定是观察者模式.但是这儿主要说下spring中的监听是怎么样的流程. 这就不得不说到spring容器的refresh方法,容器启动过程中,listener相关的主要是这个三个方法:initApplicationEventMulticaster方法初始化事件多播器,后续的事件发布都是由多播器来发布的:registerListeners注册监听器到前面初始化好的多播器上面去: finishRefresh容器启动完成最后刷新,发布ContextRefreshedEvent事件.…
1.先介绍一下java.sql.Connection接口提供的三个在执行插入语句后可取的自动生成的主键的方法: //第一个是 PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException; 其中autoGenerateKeys 有两个可选值:Statement.RETURN_GENERATED_KEYS.Statement.NO_GENERATED_KEYS //第二个是 Pre…
首先分析. 1: 肯定要利用dom4j读取xml配置文件,将所有的bean的配置信息读取出来 2: 利用反射技术,实例化所有的bean 3: 写注解处理器, 利用注解和内省实现依赖对象的注入. 4: 利用XML中<property>信息,通过内省beanUtils实现基本数据类型的注入 实现: package cn.gbx.example; import java.beans.IntrospectionException; import java.beans.Introspector; imp…
最近一直没有时间更新是因为一直在更新自己使用的框架. 之后会慢慢带来对之前使用的spring+mvc+mybatis的优化. 会使用一些新的特性,实现一些新的功能. 我会尽量分离业务,封装好再拿出来. 这次带来的是全局异常捕获. PS:使用的是spring4.3.7版本 实现的功能 首先描述实现的功能:因为在项目中,我们不可否认的会出现异常,而且这些异常并没有进行捕获.经常出现的bug如空指针异常等等. 在之前的项目中,如果我们没有进行任何配置,那么容器会自动打印错误的信息,如果tomcat的4…
首先在项目中使用java反射调用 //根据实例及参数名获得方法A Method method = event.getObj().getClass() .getMethod(event.getMethodName(), event.getParamTypes()); if (null == method) { return; }//反射调用A方法 method.invoke(event.getObj(), event.getParams()); 上述方法可以调用到 A方法,但是在A方法中使用到类中…
1. 建立properties文件:我在resource下面建立一个config文件夹,config文件夹里面有mytest.properties文件,文件内容如下: sam.username=sam sam.password=123456 2.在spring.xml里面配置一些内容,让tomcat启动时加载下面内容: <!-- Java读取properties文件的属性值  begin-->        <bean id="configProperties" cl…
(1).基本的使用方法是: <bean id="propertyConfigurerForAnalysis" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location"> <value>classpath:/spring/include/dbQuery.prop…
今天在项目中想使用@Value来获取Springboot中properties中属性值. 场景:定义了一个工具类,想要获取一些配置参数,使用了@value来获取,但是死活也获取不到. 如何解决:在使用这个工具类的时候是new的,要想使用@value来获取,必须将这个工具类交由容器来注入, 尝试了还发现一个问题,一开始工具类中的方法是静态的,当Springboot启动时后报一个错误 把static去掉以后,终于可以用@value来获取properties中的属性值…
今天在项目中想使用@Value来获取Springboot中properties中属性值. 场景:定义了一个工具类,想要获取一些配置参数,使用了@value来获取,但是死活也获取不到. 如何解决:在使用这个工具类的时候是new的,要想使用@value来获取,必须将这个工具类交由容器来注入, 尝试了还发现一个问题,一开始工具类中的方法是静态的,当Springboot启动时后报一个错误 把static去掉以后,终于可以用@value来获取properties中的属性值…
参考 http://blog.csdn.net/isea533/article/details/50449907 写的很全面 http://blog.csdn.net/a317560315/article/details/78397369…
对方法进行日志输出是一种很常见的功能.传统的做法是把输出语句写在方法体的内部,在调用该方法时,用输入语句输出信息来记录方法的执行! 1.先写一个普通类: package com.importnew; public class Common { public void execute(String username,String password){ System.out.println("------------------执行 execute()方法----------------"…
关键字:spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件) 应用场景:很多时候我们想要在某个类加载完毕时干某件事情,但是使用了spring管理对象,我们这个类引用了其他类(可能是更复杂的关联),所以当我们去使用这个类做事情时发现包空指针错误,这是因为我们这个类有可能已经初始化完成,但是引用的其他类不一定初始化完成,所以发生了空指针错误,解决方案如下: 1.写一个类继承spring的ApplicationListener监听,并监控ContextRefresh…
ApplicationListener和ContextRefreshedEvent一般都是成对出现的.最近在面试中问到了被面试者对于这两个的用法,面试者大多数被问懵了.可见基础知识的掌握程度.基于此本文将介绍它们的用法. 事件机制作为一种编程机制,在许多语言中都提供了支持.JAVA语言也不例外,java中的事件机制的参与者有3种角色: event object event source event listener 这三个角色的含义字面上很好解,它们就定义了事件机制的一个基本模型.作为一种常用的…
关键字:spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件) 应用场景:很多时候我们想要在某个类加载完毕时干某件事情,但是使用了spring管理对象,我们这个类引用了其他类(可能是更复杂的关联),所以当我们去使用这个类做事情时发现包空指针错误,这是因为我们这个类有可能已经初始化完成,但是引用的其他类不一定初始化完成,所以发生了空指针错误,解决方案如下: 1.写一个类继承spring的ApplicationListener监听,并监控ContextRefresh…
1.什么是Spring框架?Spring框架有哪些主要模块? Spring框架是一个为Java应用程序的开发提供了综合.广泛的基础性支持的Java平台.Spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发.Spring框架本身亦是按照设计模式精心打造,这使得我们可以在开发环境中安心的集成Spring框架,不必担心Spring是如何在后台进行工作的. Spring框架至今已集成了20多个模块.这些模块主要被分如下图所示的核心容器.数据访问/集成,.Web.AOP(面…