Spring学习(二) HelloSpring 实例

上篇说到:Spring被开发的核心目的是为了简化java开发,下面我们通过一个简单的例子来说明Spring是怎么简化开发的

在src下新建一个Hello的java 包,然后在Hello包下写一个只有一个sayHi方法的Hello接口,和实现Hello接口的HelloSpring类

代码如下:

package Hello;

public interface Hello {
    public void sayHi();
}
package Hello;

public class HelloSpring implements Hello{
    @Override
    public void sayHi() {
        System.out.println("Hello Spring");//重载sayHi()方法
    }
}

正常情况下,如果我们要调用HelloSpring,一般会这样调用:

package Hello;

public class HelloTest {
    public static void main(String[] args) {
        Hello  hello = new HelloSpring();
        hello.sayHi();
    }
}

如果只有一两个类还不要紧,如果有很多个类,就要创建很多个类的实例,然后才能通过实例调用方法。

如果运用Spring的特性,需要怎么写呢?

首先哦我们需要在src文件夹下,新建一个xml格式的配置文件,来配置我们的写的类(在Spring里也就叫bean),名字可以随便起,在这里我新建了一个Beans.xml (注意不要把Beans.xml放在java包下,要放在src文件夹目录下

Spring是一个基于容器的框架,这些xml文件就是Spring的一个个容器,现在我们已经得到一个空容器,因为我们什么都没有往里面配置。

 

如果不是用IEDA搭载的环境,而是用其他,如eclipse,可以new 一个file ,然后把文件名设置为 bean.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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

</beans>

IEDA 已经帮我们写好了框架。我们暂时不用管都是什么意思。直接在这个xml文件里配置我们的HelloSpring类

来简单解释下,

id是指我们给HelloSpring类起得具有标识性的“名字”,当我们需要获取这个bean的时候,需要通过这个名字来找到它

class可以理解成bean在项目中的相对位置,你也可以把它当成bean的类型来理解(我觉得还是理解成后者比较好)

容器已经配置好了,现在就们就来加载容器的内容

我就直接在上面的测试类修改一下

package Hello;

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

public class HelloTest {
    public static void main(String[] args) {
        Hello  hello = new HelloSpring();
        hello.sayHi();
        /*
        *  ClassPathXmlApplicationContext() 加载 xml配置文件并最终基于所提供的 API,它负责
        *  处理创建并初始化所有的对象,即在配置文件中提到的beans。
        *  
        *  getBean() 方法来获得所需的 bean。即在xml配置文件里对应id的bean,返回一个实例化的对象
        * */
        ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml");
        Hello helloSpring =(Hello) context.getBean("helloSpring");
        helloSpring.sayHi();
    }
}

现在我们运行 一下,看看结果,可以看到输出的是一样的结果,说明两种调用的方法时一致的。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值