【初学Spring笔记】Spring容器

本文介绍了Spring容器的两种初始化方式,包括通过类路径和文件路径加载配置文件,并详细阐述了获取Bean的三种方法。此外,还总结了Spring容器的核心接口ApplicationContext及其子类。在Bean管理方面,讲解了Bean的定义,包括属性、作用域、初始化和销毁方法等,以及依赖注入的不同方式,如构造器注入、setter注入和集合注入。
摘要由CSDN通过智能技术生成

一、容器初始化的方式

1.通过类路径加载配置文件

ApplicationContext properties_Context = new ClassPathXmlApplicationContext("applicationContext.xml");

这种方式只需要给容器的文件名就可以,但是文件需放在resources目录下
加载多个文件,中间可以用逗号隔开

2.通过文件路径加载配置文件

ApplicationContext properties_Context = new FileSystemXmlApplicationContext("文件的绝对路径");

这种方式容器文件可以放在任何位置,通过文件的绝对路径可以访问

二、获取Bean的方式

1.通过bean名获取

DataSource dataSource = (DataSource) properties_Context.getBean("bean名");

2.通过bean名获取并指定类型

DataSource dataSource = properties_Context.getBean("bean名",DataSource.class);

这里的DataSource就是类型,是我程序中的一个接口类,通过反射获取类的字节码文件传入类型

3.通过bean类型获取

DataSource dataSource =  properties_Context.getBean(DataSource.class);

用这种方式获取bean要注意容器中同类型的bean只能有一个,多个会报错

三、spring容器总结

容器相关

  1. BeanFactory是Ioc容器的顶层接口,初始化BeanFactory时,加载的bean延迟加载
  2. ApplicationContext接口是Spring容器的核心接口,初始化时bean立即被加载
  3. ApplicationContext接口常用初始化类:
    • ClassPathXmlApplicationContext
    • FileSystemXmlApplicationContext

bean相关

<bean
	id="bean的id"
	name="别名"
	class="类型"
	scope="控制bean实例数量,单例或者多例"
	init-method="生命周期初始化方法"
	destroy-method="生命周期销毁方法"
	autowire="自动类型装配"
	factory-method="bean工厂方法,用于静态工厂或者实例工厂"
	factory-bean="实例工厂bean"
	lazy-init="控制bean延迟加载"
/>

bean依赖注入

<bean id="" class="">
       <constructor-arg name="" ref=""/>  <!-- 构造器注入引用类型-->
       <constructor-arg name="" value=""/> <!-- 构造器注入简单类型-->
       <constructor-arg type="java.lang.String" index="" value=""/> <!--类型匹配与索引匹配-->
        <!--setter方法注入-->
       <property name="" ref=""/>
        <property name="" value=""/>
        <!--集合注入-->
        <property name="">
            <list>
                <value>1</value>
                <value>2</value>
                <ref bean=""/>
            </list>
        </property>
    </bean>
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值