您的位置:首页 > 编程语言 > Java开发

菜鸟的成长之路——spring的HelloWorld

2018-02-03 09:24 169 查看
  我们上节课提到,spring会把对象控制权交给容器,容器创建了一个又一个的对象,通过DI呢,又确定了各个对象之间的关系。但是你们会不会好奇,spring是怎么把容器里的对象给到我们的呢?今天我们就来聊一聊spring的应用上下文。

1、容器在spring里面是如何存在的?

  spring的容器,我们一般称之为ioc容器,其实就是项目中的一个xml配置文件,通过配置这个xml,我们来控制各个对象之间的关系。

  有的同学问了,我随便创建一个xml就可以当做容器吗?当然不是,一个标准的ioc容器,需要规定编码以及有很多的约束,也就是xml的头文件,下面我将一个头协议写好的xml写在下面,我们基本可以可以使用它完成很多事情。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd"> 
<bean id="people" class="com.spring.test.People"></bean>

</beans>


  这样,我们一个ioc容器的配置文件就可以使用了,我们通常给这个配置文件起名applicationContext.xml。

<bean id="people" class="com.spring.test.People"></bean>


  这个标签是将一个People类型的对象注入到容器中,当然项目中首先要有这个People类。其中,id是给bean起的一个唯一标识,class后面跟着这个对象类型的全限定名称。

2、如何在程序中获取到容器呢?

  首先我们要搭建spring的环境。我们使用maven项目,在pom中配置spring的包。

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.12.RELEASE</version>
</dependency>


  接下来我们新建一个主类,在主类中进行测试。获取ioc的代码如下:

import org.springframework.context.ApplicationContext;
import   org.springframework.context.support.ClassPathXmlApplicationContext;

public class TestShiro {
public static void main(String[] args) {
ApplicationContext content = new ClassPathXmlApplicationContext("applicationContent.xml");
}
}


  我们暂且把applicationContext.xml放到类的路径下。如果没有报错,则证明我们成功的获取了spring的ion容器。

3、获取到容器之后怎么拿到容器中的对象呢?

  容器获取之后,我们就可以获取容器中的对象了,代码如下:

People peo = (People) content.getBean("people");


  其中需要注意的是,getBean方法传参内容是bean标签中的唯一标识,也就是id的值;getBean方法返回的是Object类型,需要我们强行转换成我们需要得到的类。

  到此为止,我们已经使用容器注入了一个对象,使用java获取到spring的容器,并从容器中拿到了一个对象了。同学们,你们快去试试吧!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: