Spring入门项目HelloWorld(Spring框架+Maven工具+Idea集成开发环境)

上手Spring当然也要从HelloWorld项目开始。
过去我们创建一个Java对象要从new关键字开始,今天我们不使用new关键字也能创造出Java对象(实例)!

检查环境

  1. JDK1.8
  2. Maven
  3. Idea集成开发环境

以上环境的安装较为基础,在此不过多叙述。详情可以百度

初始化项目

  1. 新建Maven项目
    在这里插入图片描述
    我们不选择Maven提供的各种项目模板,使用Maven空项目,直接next,为项目起名01HelloSpring,选择项目存放地址,完成新建Maven项目

  2. 在Pom.xml文件中引入以下依赖

<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>4.2.6.RELEASE</version>
    </dependency>
</dependencies>
  1. 保存pom文件,等待maven工具下载相关依赖包,查看Maven工具是否完成下载。
    在Idea右侧有一个Maven标签卡,打开标签开即可看到该maven项目已经加入的依赖,如果你的项目出现以下依赖,则证明导入成功
    在这里插入图片描述

编写HelloWorld类

  1. 在src-main-java文件夹下新建包com.zhp
  2. 新建HelloWorld类
public class HelloWorld {
    private String message;
    public void setMessage(String message){
        this.message  = message;
    }
    public void getMessage(){
        System.out.println("Your Message : " + message);
    }
}

编写主程序

com.zhp包下创建MainApp类,作为项目入口

public class MainApp {
    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml");//读取Bean装配配置文件
        HelloWorld helloWorld =(HelloWorld) context.getBean("helloWorld");//获取java bean(获取实例)
        helloWorld.getMessage();//打印
    }
}
  1. 第三行:Spring有一种能力,就是通过xml配置文件来创建java实例,xml文件中写明了属性和值,这样就可以通过配置文件创建并初始化java对象了。初学者肯定有疑问,为什么要这么麻烦,我之前直接new出来不是更简单吗,现在虽然不用new对象了,但是还要写xml配置文件,好像也没有简化操作啊。如果有以上的疑问,可以看我的另一篇博文。该篇博文从我们最熟悉的new关键字逐步讲解为什么会发展成使用配置文件新建对象。
  2. 第四行:使用xml上下文context,获取HelloWorld对象
  3. 第五行:调用方法

编写配置文件

在src-main-resource下编写xml文件Beans.xml,有两点需要注意

  1. 一定要在src-main-resource下,因为在MainApp的第三行,读取的路径是根路径,而maven配置文件的根路径是src-main-resource
  2. 文件要与MainApp中第三行同名

现在我们就可以编写配置文件了

<?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">

    <bean id="helloWorld" class="com.zhp.HelloWorld">
        <property name="message" value="Hello World!"/>
    </bean>

</beans>

这个文件同样有三点需要注意

  1. bean标签的id要与MainApp的第四行中的参数同名
  2. bean标签的class要与HelloWorld类的位置保持一致,如果你更换了包名,一定要注意修改这里
  3. property是bean的子标签,该标签是注明java属性,所以其name的值要与java属性的名字一致,这样spring才能将value值注入到对应属性中。

运行

在这里插入图片描述

思考

如果我再获取一个helloworld bean,我们叫他bean2,bean2与bean1会指向同一块内存吗?

验证

public class MainApp {
    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml");//读取Bean装配配置文件
        HelloWorld helloWorld =(HelloWorld) context.getBean("helloWorld");//获取java bean(获取实例)
        helloWorld.getMessage();//打印

        HelloWorld helloWorld2 =(HelloWorld) context.getBean("helloWorld");
        System.out.println(helloWorld.hashCode());
        System.out.println(helloWorld2.hashCode());
    }
}

结果

在这里插入图片描述
Spring目前为止是一个单例系统!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tinpo_123

感谢给小张填杯java~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值