当前位置: 首页 > news >正文

网站推广排名教程学校网站的英文

网站推广排名教程,学校网站的英文,商用图片的网站,高端网站建设公司好吗Aware接口前言基本内容例子结尾前言 Spring的依赖注入最大亮点是所有的Bean对Spring容器对存在都是没有意识到,Spring容器中的Bean的耦合度是很低的,我们可以将Spring容器很容易换成其他的容器。 但是实际开发的时候,我们经常要用到Spring容…

Aware接口

    • 前言
      • 基本内容
      • 例子
      • 结尾

前言

Spring的依赖注入最大亮点是所有的Bean对Spring容器对存在都是没有意识到,Spring容器中的Bean的耦合度是很低的,我们可以将Spring容器很容易换成其他的容器。
但是实际开发的时候,我们经常要用到Spring容器本身的功能资源,所以Spring容器中的Bean此时要能意识到Spring容器到存在才能调用Spring所提供的资源,我们通过Spring提供的一系列接口Spring Aware来实现具体的功能。
Aware翻译过来:“察觉的,感知的”,如果是XxxAware也就是对…感知的。

基本内容

Aware接口是一种框架辅助属性注入的一种思想,其他框架中
瞧一眼源码:

/*** Marker superinterface indicating that a bean is eligible to be* notified by the Spring container of a particular framework object* through a callback-style method. Actual method signature is* determined by individual subinterfaces, but should typically* consist of just one void-returning method that accepts a single* argument.** <p>Note that merely implementing {@link Aware} provides no default* functionality. Rather, processing must be done explicitly, for example* in a {@link org.springframework.beans.factory.config.BeanPostProcessor BeanPostProcessor}.* Refer to {@link org.springframework.context.support.ApplicationContextAwareProcessor}* and {@link org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory}* for examples of processing {@code *Aware} interface callbacks.** @author Chris Beams* @since 3.1*/
public interface Aware {}

我们可以看到,Aware是一个具有标识作用的超级接口,实现该接口的Bean都具有被Spring容器通知的能力。
而被通知的方式就是通过回调,简单来说:直接或者间接实现了这个接口的类,都具有被Spring容器通知的能力。

Aware接口是回调,监听器和观察者设计模式的混合,它表示bean有资格通过回调方式被Spring容器通知。
有时我们的在Bean的初始化中使用Spring框架自身的一些对象来执行一些操作,比如:

  • 获取ServletContext的一些参数。
  • 获取ApplicationContext中的BeanDefinition的名字。
  • 获取Bean在容器中的名字等等。
    这些接口均继承自org.springframework.beans.factory.Aware标记接口,并提供一个将由Bean实现的Set方法,Spring通过基于Setter的依赖注入方式使相应的对象可以被Bean使用。
    常见的Aware接口:
    请添加图片描述

例子

以BeanNameAware为例:
BeanNameAware:使对象能够知道容器中定义的bean名称。

public class MyBeanName implements BeanNameAware {@Overridepublic void setBeanName(String beanName){System.out.println(beanName);}
}

在Spring配置类中注册这种类型的bean:

@Configuration
public class Config{@Bean(name="WangBeanName")public MyBeanName getMyBeanName(){return new MyBeanName();
}}

启动应用程序上下文并从中获取bean:

AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(Config.class);
MyBeanName myBeanName = context.getBean(MyBeanName.class); 

从控制台可以看到,setBeanName方法打印出来了"WangBeanName"。
若从@Bean注解中删除name =“…”代码,则在这种情况下,将getMyBeanName()方法名称分配给bean,所以输出将是“getMyBeanName”。

结尾

对于这个接口我觉得说这么多就好,其实重点在于它的设计模式,后面写到设计模式的时候我再把它拿回来说。

http://www.yayakq.cn/news/962033/

相关文章:

  • 直播间挂人气自助网站公司网站建设和百度推广流程图
  • 亚马逊网站风格企业注册号
  • 上行30m可以做网站吗个体工商户网站备案
  • 大庆建设局网站迁址wordpress 响应分页
  • 哪个网站买域名便宜推广你公司网站
  • 商务网站创建方案潍坊品牌设计公司
  • 想做个电影网站该怎么做厦门做网站需要多少钱
  • 唯品会网站建设特色定制app开发需求
  • 网站地图什么格式网络营销平台有哪些?
  • 网站 手机版网站开发合同网店托管网
  • 专业服务网站建设网站建设价格差异多少
  • 为古汉字老人做网站云服务器gpu租用
  • o2o商城网站建设方案南漳县建设局网站
  • 江阴房产网510房产网网站推广优化c重庆
  • 建网站买的是什么深圳做微商网站设计
  • 四川建设安全协会网站设计竞赛网
  • 什么做的网站无锡响应式网站建设
  • 营销型网站解决方案前端网站开发框架
  • 转塘有做网站的吗做网站的颜色搭配
  • 织梦 茶叶网站wordpress近期文章怎么显示时间
  • 北京做网站哪家便宜网站改版301是什么
  • 手机可播放的网站怎么找平台推广
  • 上上佳食品 网站建设盐城城南建设局一局网站
  • wordpress发布时间电商网站seo优化
  • 国家开发银行生源地助学贷款网站网站建设功能规划
  • 旅游公司电子商务网站建设策划书中装建设装饰有限公司
  • 人防网站建设app制作哪里正规
  • 衡水做网站哪儿好多个域名多国语言网站seo优化
  • 网站建设怎么做账会计vs2010如何做网站
  • 网站推广站点建设与策划手机卡盟网站建设