Spring的入门案例(实现IOC)

实现IOC

1 、创建一个项目:maven的java项目

2、导入依赖:spring-context、spring-beans、spring-expression、spring-core、commons-logging、spring-aop

在pom.xml中配置相关包

<!-- 导入spring -->
  <dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-context</artifactId>
  <version>4.3.27.RELEASE</version>
  </dependency>
  <!-- 测试 -->
  <dependency>
  		<groupId>junit</groupId>
  		<artifactId>junit</artifactId>
  		<version>4.12</version>
  	</dependency>

3、 配置文件—spring配置文件

(1)文件位置源文件夹
在原文件下建立相关配置
(2)文件名称任意的,官方建议名称:applicationContext.xml
(3)内容

<?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
        https://www.springframework.org/schema/beans/spring-beans.xsd">

	<!-- 容器当读取此配置文件时,就会读取到此bean标签配置,标签中的class属性内设置一个类型的全限定名
	那么当容器读取到此处时容器就会创建此类型的对象,对象会被保存到容器中 -->
	<!-- 此时就变成如果能够拿到容器,容器能够读取文件,那么就可以从容器中获取指定的对象 -->
	<!-- id属性是唯一标识,通过唯一标识可以从容器中获取出来指定类型的对象 -->
	
	<!-- people对象 -->
    <bean id="p1" class="com.study.bean.People">
        
    </bean>
    
    <!-- fruitjuice对象 -->
    <bean id="fj1" class="com.study.bean.FruitJuice">
    </bean>

</beans>

4、相关实体类

People

public class People {
	/**
	 * 当没有new操作,也没注入操作时,此时果汁对象还不存在
	 * 对象不存在时,调用方法就会出错
	 * 即此时fj.havingNutrition();出错
	 * 会出现“空指针异常”的报错
	 */
//此类中drink方法里面需要一个果汁对象,所以容器创建一个果汁对象,然后给people注入进来
	//只要注入成功了,那么对象就存在了,对象存在方法调用就不会出错
	private FruitJuice fj;
public void setFj(FruitJuice fj) {
		this.fj = fj;
	}
public void drink() {
	//FruitJuice fj=new FruitJuice();
	fj.havingNutrition();
}
}

FruitJuice

 public class FruitJuice {
public void havingNutrition() {
	System.out.println("哎呀,我喝了果汁,感觉酸酸甜甜的");
}
}

5、 测试

//入门测试,是否可以从容器中获取出来people对象
	@Test
	public void getPeopleTest(){
		//获取到容器,容器读配置文件
		ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
		//从容器获取指定id的对象
		People p = (People) context.getBean("p1");//对象不是new出来的,从容器中get出来的
		System.out.println(p);
		
		FruitJuice fj = (FruitJuice) context.getBean("fj1");
		System.out.println(fj);
	}

6、注入操作

spring配置文件中通过property标签实现注入配置

<bean id="p1" class="com.study.bean.People">
        <!-- 实现注入 -->
        <!-- name属性指定给类中哪个属性注入对象
        	ref属性指定个fj属性注入哪个对象 -->
        <property name="fj" ref="fj1"/>
    </bean>
    
    <!-- fruitjuice对象 -->
    <!-- fj1=com.study.bean.FruitJuice -->
    <bean id="fj1" class="com.study.bean.FruitJuice">
    </bean>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值