前端初步入门spring------03-依赖注入

IOC操作 – Bean管理

一、什么是Bean管理

概念:

  • Spring创建对象
  • Spring注入(由Spring注入属性)

二、Bean管理操作

2.1、基于xml实现创建对象

  1. 方式:在配置文件中,使用Bean标签,添加对象的对应的属性,就可以实现对象创建

  2. 属性说明:

  • id: bean的唯一表示
  • class :类的全路径
  • name :作用类似id,但可以多个
  1. 创建对象时,默认执行无参构造方法

  2. 注册一个bean ,将bean交给sprin容器管理 默认情况下,所有的bean都是单例的 但是,可以通过scope修改其生命周期 prototype : 原型 也就是,每一次get都是new出来的,地址不同 spring 是一个大型工厂,可以搜集零件,注册到工厂内 之后进行装配

<bean id="mockServlet2"
	  class="net.duck.spring.ioc.MockServlet2"></bean>

2.2、基于xml方式注入属性(依赖注入)

  • 非引用类型,使用value添加默认值
  • 引用类型,即自己定义的类,使用ref,添加默认值
  • map、List,使用对应的标签进行注册

Demo:

<!-- 注册一个bean -->
<bean scope="singleton" init-method="init" destroy-method="destory" id="mockServlet1" class="net.duck.spring.ioc.MockServlet1">
		
    	<!-- 为String、int类型添加默认值 -->
		<property name="username" value="duck"></property>
		<property name="age" value="10"></property>
    
    	<!-- 为引用类型添加默认值,需要注册过的 -->
		<property name="mockServlet2" ref="mockServlet2"></property>
    
        <!-- 为List类型添加默认值 -->
		<property name="list">
			<list>
				<value>1</value>
				<value>2</value>
				<value>3</value>
			</list>
		</property>
    
       <!-- 为Map类型添加默认值 -->
		<property name="map">
			<map>
				<entry key="duck" value="cool"></entry>
				<entry key="pig" value="beautiful"></entry>
			</map>
		</property>
		
	</bean>

在处理文件获取bean,并获取相应信息

/**
 * 应用上下文,创建spring容器
 */
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

// 获取到写在xml的bean实例
MockServlet1 mockServlet1 = (MockServlet1) context.getBean("mockServlet1");

System.out.println(mockServlet1.getUsername());
System.out.println(mockServlet1.getAge());

System.out.println(mockServlet1.getMockServlet2());

Map<String, String> maps = mockServlet1.getMap();
Set<String> values = maps.keySet();
for(String key : values) {
	System.out.println("key: " + key + "  value: " + maps.get(key));
}

List<Integer> list = mockServlet1.getList();
for (Integer inits : list) {
	System.out.println(inits);
}
		
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值