控制反转步骤

spring框架

**

控制反转步骤

**

开门见山,这篇博客详细讲一讲这个控制反转的步骤,Let 's go

      控制反转嘛,上篇博客已经介绍了,它是由容器创建对象,然后交给使用者。那么容器怎么搞,我们接着看!!!

步骤:

    1、引入依赖(导包)


//四个spring核心jar包

spring-beans;

spring-core;

spring-context;

spring-expression;

//日志包

log4j	

    2、创建spring的全局配置文件:spring-config.xml

    3、创建一个对象类,即用于创建的实体类


//实体类,随便给些属性。

public class Boss{

	public void talk(){

		System.out.println("The Boss is talking...");

	}

} 

    4、将对象类交给spring管理,在spring-config.xml添加配置

首先,我们得要spring配置文件跟标签基本信息。


	<?xml version="1.0" encoding="UTF-8"?>
	
	<beans xmlns="http://www.springframework.org/schema/beans"
	       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	       xsi:schemaLocation="http://www.springframework.org/schema/beans
	    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
		
		<bean ... 	/>

	</beans>

然后,我们有三种方式创建bean对象(bean对象是用来创建Boss对象的),任选一种

    无参构造函数


	<bean id="boss" class="Boss"/>

    静态工厂构造


	<bean id="boss1" class="StaticFactory" factory-method="getBean"/>

    普通工厂构造


	<bean id="factory" class="CommonFactory" />

	<bean id="boss2" factory-bean="factory" factory-method="getBean"/>

    5、测试类使用对象


public class Test{

	public static void main(String args[]){

		ClassPathXmlApplicationContext context = new
                ClassPathXmlApplicationContext("spring-config.xml");
		
		Boss boss = (Boss)context.getBean("boss");
        
		boss.talk();

	}

}

注意:

    bean标签内,id为context对象getBean的传参,class为文件相对Sources Root的路径。同样测试类给定的xml文件是相对于Resources Root的路径。

    使用无参构造函数直接使用即可

    使用构造工厂创建时先要给出工厂类


public class StaticFactory {

    public static User getBean(){

        return new User();

    }

}


public class CommonFactory {

    public User getBean(){

        return new User();

    }

}

使用静态工厂可直接用静态工厂的getBean方法创建Boss对象

使用普通工厂则先创建普通工厂类的对象,然后由对象调用getBean方法创建Boss对象(mian方法为static方法!!!)

 

 

这就是spring容器创建对象的方式。感受了IOC控制反转,那么之后DI依赖注入则是使用容器给对象赋值。

返回 》
控制反转与依赖注入

下一篇 》
依赖注入方式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值