Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 1051|回复: 0

(整理)Spring的Core模块(一)

[复制链接]
  • TA的每日心情
    开心
    2021-3-12 23:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2011-6-6 15:56:33 | 显示全部楼层 |阅读模式
    Core模块主要的功能是实现了反向控制(Inversion of Control)与依赖注入DI(Dependency Injection)Bean配置以及加载。Core模块中有BeansBeanFactoryBeanDefinitionsApplicationContext等几个重要概念。
       BeansSpring里的各种对象,一般要配置在Spring配置文件中;BeanFactory为创建BeansFactorySpring通过BeanFactory加载各种BeansBeanDefinitionBean在配置文件中的定义,一般要定义idclassApplicationContext代表配置文件。
       这些类都位于org.springframework.beansorg.springframework.context中。这是Spring最核心的包。Core模块依赖于SpringCore类库。
    BeanFactory工厂
    BeanFactory是实例化,配置,管理众多Bean的容器。这些Bean类一般是离散的,但在Spring中被配置为相互依赖。BeanFactory根据配置实例化Bean对象,并设置相互的依赖性。
    BeanFactory可用接口org.springframework.beans.factory.BeanFactory表示。BeanFactory有多种实现,最常用的为org.springframework.beans.factory.xml.XmlBeanFactoryXmlBeanFactory能加载XML格式的配置文件。
    1, 实例化BeanFactory
      web程序中用户不需要实例化BeanFactoryWeb程序加载的时候会自动实例化BeanFactory,并加载所有的Beans,将各种Bean设置到各个Servlet中,strutsAction中,或者Hibernate资源中。开发者直接编写Servlet,ActionHibernate相关的代码即可,无须操作BeanFactory
      java桌面程序中,需要从BeanFactory中获取Bean,因此需要实例化BeanFactory,构造函数的参数为配置文件的路径。例如加载ClassPath下的配置文件可以用ClassPathResource加载,然后传递XmlBeanFactory构造函数。代码如下:
      ClassPathResource res = new ClassPathResource(“applicationContext.xml”);//获取配置资源
      XmlBeanFactory factory = new XmlBeanFactory(res); //获取对象工厂
      Iservice hello = (IService)factory.getBean(“service”); //获取对象
      … … //其它代码略
      Factory.destorySingletons();
    参数applicationContext.xmlClassPath根目录下的文件。applicationContext.xmlSpring默认的配置文件名称,默认存储在ClassPath根目录下。或者使用文件流加载任意位置的配置文件,并传递给XmlBeanFactory构造函数,例如:
       InputStream is = new FileInputStream(“c://ApplicationContext.xml”); //获取配置资源
       XmlBeanFactory factory = new XmlBeanFactory(is); //获取对象工厂
    或者用ClassPathXmlApplicationContext加载多个配置文件(多个配置文件以字符串数组形式传入),并传递给XmlBeanFactory构造函数:
      ClassPathXmlApplicationContext appContext = new ClassPathXmlApplicationContext(
      New String[]{“applicationContext.xml”,”applicationContext-part2.xml”}
    ) //多个配置
    BeanFactory factory = (BeanFactory)appContext; //ApplicationContext继承自BeanFactory接口
    2.         XmlBeanFactory配置格式
    一个BeanFactory中配置了多个Bean.XmlBeanFactory中,配置文件的根节点为<beans>,里面定义了几个<bean>子节点,每个<bean>定义一个Bean。格式如下:
    <beans>  <!—Beans根节点 à
      <bean id=”…” class=”…”> <!—Bean节点,定义Beanà
      … …
      <bean id=”…” class=”…”>  <!—Bean节点,定义Bean à
         <property name=”…” value=”…”></property> <!—property定义属性 à
         <property name=”…” ref=”…”></property>  <!—property定义属性à
      </bean>
    </beans>
    <property/>表示将使用name属性对应的setter方法设置该属性。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2025-1-8 07:40 , Processed in 0.359646 second(s), 46 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表