未分类

引用:InitializingBean
   Spring Bean的生命周期
   InitializingBean和ApplicationListener


InitializingBean接口

InitializingBean接口为bean提供了初始化方法的方式,它只包括afterPropertiesSet方法,凡是继承该接口的类,在初始化bean的时候会执行该方法。
问题:实现InitializingBean接口与在配置文件中指定init-method有什么不同?
在spring初始化bean的时候,如果该bean是实现了InitializingBean接口,并且同时在配置文件中指定了init-method,系统则是先调用afterPropertiesSet方法,然后再调用init-method中指定的方法。
  在spring 初始化后,执行完所有属性设置方法(即setXxx)将自动调用 afterPropertiesSet(), 在配置文件中无须特别的配置

注:初始需要依赖的方法时如init()可以使用这个方法,如果在构造方法中调用,根据Spring的加载顺序,依赖可能还没加载好,可能会报NullPointException


##ApplicationListener<>接口
这个<>里面的内容是E extends ApplicationEvent是一个继承了ApplicationEvent的类,一般是写ContextRefreshedEvent,在Spring类加载完(不包含依赖)后执行,当一个ApplicationContext被初始化或刷新时触发。

注:初始需要依赖的方法时如init()可以使用这个方法,如果在构造方法中调用,根据Spring的加载顺序,依赖可能还没加载好,可能会报NullPointException

如果在上下文中部署一个实现了ApplicationListener接口的bean, 那么每当在一个ApplicationEvent发布到
ApplicationContext时, 这个bean得到通知

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@Component
public class InitTestBean implements ApplicationListener<ContextRefreshedEvent>,InitializingBean {
@Override
public void afterPropertiesSet() throws Exception {
System.out.println("afterPropertiesSet 执行");
}

public InitTestBean() {
System.out.println("无参构造方法执行!");
}

@Override
public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) {
System.out.println("onApplicationEvent 执行");
}
}

结果如下:

1
2
3
无参构造方法执行!
afterPropertiesSet 执行
onApplicationEvent 执行

Spring Bean

参考:Spring Bean详解
   Spring Bean的加载过程

JS

Window 对象属性

属性 描述
closed 返回窗口是否已被关闭。
defaultStatus 设置或返回窗口状态栏中的默认文本。
document 对 Document 对象的只读引用。请参阅 Document 对象
history 对 History 对象的只读引用。请参数 History 对象
innerheight 返回窗口的文档显示区的高度。
innerwidth 返回窗口的文档显示区的宽度。
length 设置或返回窗口中的框架数量。
location 用于窗口或框架的 Location 对象。请参阅 Location 对象
name 设置或返回窗口的名称。
Navigator 对 Navigator 对象的只读引用。请参数 Navigator 对象
opener 返回对创建此窗口的窗口的引用。
outerheight 返回窗口的外部高度。
outerwidth 返回窗口的外部宽度。
pageXOffset 设置或返回当前页面相对于窗口显示区左上角的 X 位置。
pageYOffset 设置或返回当前页面相对于窗口显示区左上角的 Y 位置。
parent 返回父窗口。
Screen 对 Screen 对象的只读引用。请参数 Screen 对象
self 返回对当前窗口的引用。等价于 Window 属性。
status 设置窗口状态栏的文本。
top 返回最顶层的先辈窗口。
window window 属性等价于 self 属性,它包含了对窗口自身的引用。
  • screenLeft
  • screenTop
  • screenX
  • screenY
只读整数。声明了窗口的左上角在屏幕上的的 x 坐标和 y 坐标。IE、Safari 和 Opera 支持 screenLeft 和 screenTop,而 Firefox 和 Safari 支持 screenX 和 screenY。
[常用的window](http://www.jb51.net/article/44078.htm) ### [location](http://www.w3school.com.cn/jsref/dom_obj_location.asp)
1
2
3
4
window.location = "https://www.baidu.com" //跳转到百度
window.location.href = = "https://www.baidu.com" //跳转到百度
window.location.reload(); //重新加载当前页面
window.top.location = "https://www.baidu.com" //跳出框架,最上层window跳转到百度

方法定义

Spring MVC RESTful风格

文章作者: C.c
文章链接: https://liquidcat.cc/未分类.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Me