SpringFramework核心技术一(IOC:使用ICO容器)
使用容器
这ApplicationContext是高级工厂的接口,能够维护不同bean及其依赖项的注册表。使用该方法T getBean(String name, Class requiredType)可以检索bean的实例。
一、
在ApplicationContext可以读取bean定义并访问它们,如下所示:
1.1 怎么使用容器
首先来看一下容器:
1.2
有很多同学一上来就是搞一个New,可是这是一个ApplicationContext接口啊。
//接口是不能直接new着用的,这个是重写。 ApplicationContext applicationContext = new ApplicationContext(){...}
1.3
下面这样用才是对的:ClassPathXmlApplicationContext是类
/** * @author:wangdong * @description:怎么使用容器 */ public class Test { public static void main(String[] args) { // create and configure beans //可以从XML文件中读取需要配置Bean并且加载进容器中 ApplicationContext context = new ClassPathXmlApplicationContext("services.xml", "daos.xml"); }
看一下ClassPathXmlApplicationContext类
二、下面我们来用一下
package org.springframework.test; import org.springframework.beans.BeansException; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.beans.factory.config.AutowireCapableBeanFactory; import org.springframework.beans.factory.groovy.GroovyBeanDefinitionReader; import org.springframework.beans.factory.xml.XmlBeanDefinitionReader; import org.springframework.context.ApplicationContext; import org.springframework.context.MessageSourceResolvable; import org.springframework.context.NoSuchMessageException; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.context.support.GenericApplicationContext; import org.springframework.context.support.GenericGroovyApplicationContext; import org.springframework.core.ResolvableType; import org.springframework.core.env.Environment; import org.springframework.core.io.Resource; import java.io.IOException; import java.lang.annotation.Annotation; import java.util.Locale; import java.util.Map; /** * @author:wangdong * @description:怎么使用容器 */ public class Test { public static void main(String[] args) { // create and configure beans ApplicationContext context1 = new ClassPathXmlApplicationContext("services.xml", "daos.xml"); // retrieve configured instance(检索配置实例Bean) //如果PetStoreService已经创建,并且在上面的.xml文件中已经配置 PetStoreService service = context1.getBean("petStore", PetStoreService.class); //GenericApplicationContext和ClassPathXmlApplicationContext类似 //只不过这里使用的是.groovy后缀文件 //使用Groovy配置,bootstrapping看起来非常相似,只是一个不同的上下文实现类,它可以感知Groovy(但也理解XML bean定义): ApplicationContext context2 = new GenericGroovyApplicationContext("services.groovy", "daos.groovy"); //最灵活的变体是GenericApplicationContext与.groovy和.xml结合使用 GenericApplicationContext context3 = new GenericApplicationContext(); //用于.xml后缀的文件 new XmlBeanDefinitionReader(context3).loadBeanDefinitions("services.xml", "daos.xml"); //用于.groovy后缀的文件 new GroovyBeanDefinitionReader(context3).loadBeanDefinitions("services.groovy", "daos.groovy"); } }
可以使用它getBean来检索bean的实例。该ApplicationContext 接口还有其他一些检索bean的方法,但理想情况下,应用程序代码不应该使用它们。事实上,你的应用程序代码根本不应该调用该 getBean()方法,因此完全不依赖于Spring API。例如,Spring与Web框架的集成为各种Web框架组件(如控制器和JSF托管的bean)提供了依赖注入,允许您通过元数据(例如自动装配注释)声明对特定Bean的依赖关系。
未完待续~~~持续更新
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
JavaScript 编程精解 中文第三版 十四、文档对象模型
十四、文档对象模型 原文:The Document Object Model 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 部分参考了《JavaScript 编程精解(第 2 版)》 Too bad! Same old story! Once you’ve finished building your house you notice you’ve accidentally learned something that you really should have known—before you started. Friedrich Nietzsche,《Beyond Good and Evil》 当你在浏览器中打开网页时,浏览器会接收网页的 HTML 文本并进行解析,其解析方式与第 11 章中介绍的解析器非常相似。浏览器构建文档结构的模型,并使用该模型在屏幕上绘制页面。 JavaScript 在其沙箱中提供了将文本转换成文档对象模型的功能。它是你可以读取或者修改的数据结构。模型是一个所见即所得的数据结构,改变模型会使得屏幕上的页面产生相应变化。 文档结构 你...
- 下一篇
java注解用法详解——@SuppressWarnings
java中注解用法详解——@SuppressWarnings 一、前言 注释类型: 当你的编码可能存在警告时,比如安全警告,可以用它来消除。 api中是这样描述的: 指示应该在注释元素(以及包含在该注释元素中的所有程序元素)中取消显示指定的编译器警告。 注意,在给定元素中取消显示的警告集是所有包含元素中取消显示的警告的超集。 例如,如果注释一个类来取消显示某个警告,同时注释一个方法来取消显示另一个警告,那么将在此方法中同时取消显示这两个警告。 根据风格不同,程序员应该始终在最里层的嵌套元素上使用此注释,在那里使用才有效。 如果要在特定的方法中取消显示某个警告,则应该注释该方法而不是注释它的类。 在java编译过程中会出现很多警告,有很多是安全的,但是每次编译有很多警告影响我们对error的过滤和修改,我们可以在代码中加上@SuppressWarnings(“XXXX”) 来解决 例如:@SuppressWarnings("deprecation") 表示不显示使用了不赞成使用的类或方法时的警告。 再比如: 编码时我们总会发现如下:变量未被使用的警告提示 上述代码编译通过且可以运行,...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Linux系统CentOS6、CentOS7手动修改IP地址