(1)定义一个Animal类,在该类中定义一个speak方法,然后监视该方法
(2)定义一个AnimalSpeakEvent方法,该方法继承ApplicationEvent,重载其默认的构造方法.当用户调用Animal类中speak方法时触发该事件
(3)写一个监听类AnimalEventListener 实现ApplicationListener,并在配置文件中配置该监听器
public class AnimalSpeakEvent extends ApplicationEvent { private static final long serialVersionUID = 1L; private String animalName; public AnimalSpeakEvent(Object source) { super(source); } public AnimalSpeakEvent(Object source,String animalName) { super(source); this.animalName=animalName; } public String getAnimalName() { return animalName; } }
public class AnimalEventListener implements ApplicationListener{ @Override public void onApplicationEvent(ApplicationEvent event) { if(event instanceof AnimalSpeakEvent){ AnimalSpeakEvent a=(AnimalSpeakEvent)event; System.out.println(this.getClass().getSimpleName()+"有一个动物在讲话,它的名字是"+a.getAnimalName()); } } }
public class Animal implements ApplicationContextAware{ private ApplicationContext ac; private String name; private int age; @Override public void setApplicationContext(ApplicationContext context) throws BeansException { this.ac=context; } public String speak(){ ac.publishEvent(new AnimalSpeakEvent(this, this.name)); return ("我的名字是:"+this.name+",我的年龄是:"+this.age); } public ApplicationContext getAc() { return ac; } public void setAc(ApplicationContext ac) { this.ac = ac; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
public class Test3 { public static void main(String[] args) { ApplicationContext context=new ClassPathXmlApplicationContext("config/applicationContext.xml"); Animal animal=(Animal)context.getBean("animal"); System.out.println(animal.speak()); } }
相关推荐
自定义spring实现读取applicationContext.xml并依赖注入,可以参考学习控制反转的原理,非常简单。
1、proxool官网,下载最新的proxool-0.9.1.jar 2、创建独立的proxool.xml文件,同时存在Web的WEB-INF目录下,根据自己的数据库类型,填写...5、整合Spring和proxool,配置应用上下文配置文件[applicationContext.xml]
这种方法通常在写组件时用,比如写个自定义标签,正常的流程,最后都走action,尽量保证每个请求都给一个.do,而不是直接去一个JSP,这样既保证了MVC模式,又防止用户直接记下JSP地址在没有后台准备情况下访问。
简介同时兼容support和androidx链式调用支持自由扩展实现几种常用效果...ApplicationContext中弹出支持拖拽关闭支持不拦截外部事件Popup效果拥有Dialog效果特性支持跟随目标View移动Toast效果支持自定义图标和文字...
当hql等查询方式不能满足性能或灵活性的要求,必须使用SQL时,大家有三... JDBCTemplate的使用很简单,只要在ApplicationContext文件里定义一个jdbcTemplate节点,POJO获得注入后可以直接执行操作,不需要继承什么基类
此框架可自动生成SpringMvc+mybatis框架结构数据库采用的是mysql用户可以自行更改成自己需要的数据库,使用时将本项目导入myeclipse或eclipse中,更改项目...生成之后注意要修改applicationContext.xml spring-mvc.xml
在Service端,自定义ApplicationContext,获取Spring容器。从而,通过编码的形式,手动获取注册到容器中的对象。
flylol使用方法:1、clone代码到本地2、使用myeclipse中import--exsit maven project,选择刚才下载到的代码路径3、右击项目名,properties-buildPath...自定义1、用户类、组织类、组织用户关系类 同步主数据系统的数据
(5) src下的applicationContext.xml 和 hibernate.cfg.xml 是hibernate配置信息和Spring的配置分开配置再通过classpath 导入给applicationContext.xml(这两个文件本身已经没使用到了) 项目现在hibernate配置信息都写...
启动前自定义Environment或ApplicationContext iii. 62.3. 构建ApplicationContext层次结构(添加父或根上下文 iv. 62.4. 创建一个非web(non-web)应用 ii. 63. 属性&配置 i. 63.1. 外部化SpringApplication配置 ...
用于探索每种方法的自定义ApplicationContext的存储库。 参见
{自定义的存放包}目录:4个xml文件(applicationContext-dao.xml(dao注入配置),applicationContext-service.xml(service注入配置),action-servlet.xml(action注入配置),struts-{自定义的存放包名}.xml(struts2的...
Spring2.0配置--> applicationContext.xml Hibernate3.2配置--> hibernate.cfg.xml JSP文件--> 具有Struts2.0支持的增、删、改、查页面及自定义查询、自动分页等操作 Action--> 业务Action.java和导出Excel的...
Spring2.0配置--> applicationContext.xml Hibernate3.2配置--> hibernate.cfg.xml JSP文件--> 具有Struts2.0支持的增、删、改、查页面及自定义查询、自动分页等操作 Action--> 业务Action.java和导出Excel的Action...
JSP文件--> 具有Struts2.0支持的增、删、改、查页面及自定义查询、自动分页等操作 Action--> 业务Action.java和导出Excel的Action等 VO --> bean.java及 bean.hbm.xml配置文件 Service --> Service接口定义类 ...
JSP文件--> 具有Struts2.0支持的增、删、改、查页面及自定义查询、自动分页等操作 Action--> 业务Action.java和导出Excel的Action等 VO --> bean.java及 bean.hbm.xml配置文件 Service --> Service接口定义类 ...
Spring Cloud Context为Spring Cloud应用程序的ApplicationContext (引导程序上下文,加密,刷新作用域和环境端点)提供实用程序和特殊服务。 Spring Cloud Commons是在不同Spring Cloud实现中使用的一组抽象和...
注解配置SpringMVC原理简述1. 准备知识1.1 两个应用上下文1.2 ServletContext配置方法(Configuration Methods)1.3 运行时插拔1.4 SpringServletContainerInitializer... SpringMVC配置案例2.1 自定义的Intializer类,
这是通过在FXMLLoader上设置一个控制器工厂来实现的,该控制器工厂委托给bean工厂:本质上,这只是loader.setControllerFactory(applicationContext::getBean) 。 此外,通过在加载程序上设置自定义生成器工厂,...