<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
第一步,我們先來看這個介面的內部結構,瞭解別人的內部,知己知彼,百戰不殆:
這個介面的擴充套件功能主要體現在它繼承的四個介面上:
國際化功能演示
檢視對應的方法:
準備翻譯資源資訊:
--------messages_en.properties
hi=Hello
--------messages_ja.properties
hi=こんにちは
---------messages_zh.properties
hi=你好
使用context容器物件,通過getMessage方法。根據key進行翻譯:
//處理國際化資源(國際化能力) //中文(引數:key,變化的資訊,翻譯的型別) //根據key找到不同語言的翻譯結果 System.out.println(context.getMessage("hi", null, Locale.CHINA)); //英文 System.out.println(context.getMessage("hi", null, Locale.ENGLISH)); //日文 System.out.println(context.getMessage("hi", null, Locale.JAPANESE));
資源存取功能演示:
檢視對應的方法:
第一個是根據路徑獲取多個資源,第二個是根據路徑獲取單個資源
//根據磁碟的路徑獲取單個資源 context.getResources("classpath:spring.properties"); //獲取多個資源 Resource[] resources = context.getResources("classpath*:META-INF/spring.factories"); for (Resource resource : resources) { System.out.println(resource); }
提供當前系統環境 Environment 元件功能演示:
System.out.println(context.getEnvironment().getProperty("java_home")); System.out.println(context.getEnvironment().getProperty("server.port"));
作用:獲取設定資訊
Spring事件釋出者功能演示:
定義事件:
//使用者已註冊事件 public class UserRegisteredEvent extends ApplicationEvent { // source 事件的事件源 public UserRegisteredEvent(Object source) { super(source); } }
釋出事件:
context.publishEvent(new UserRegisteredEvent(context));
接收事件(監聽器):
@Component public class Component2 { private static final Logger log = LoggerFactory.getLogger(Component2.class); @EventListener //發的是什麼事件,就用什麼事件來接收 public void aaa(UserRegisteredEvent event) { log.debug("{}", event); log.debug("傳送簡訊"); } }
實現使用者註冊與傳送簡訊之間的解耦:
@Component public class Component1 { private static final Logger log = LoggerFactory.getLogger(Component1.class); @Autowired private ApplicationEventPublisher context; public void register() { log.debug("使用者註冊"); context.publishEvent(new UserRegisteredEvent(this)); } }
測試:
context.getBean(Component1.class).register();
重點:釋出事件,使用監聽器來獲取事件,作用(實現元件之間的解耦)
總結:
到此這篇關於Spring ApplicationContext介面功能詳細介紹的文章就介紹到這了,更多相關Spring ApplicationContext介面內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45