第一个Spring程序:HelloSpring

HelloSpring

1、导入Spring依赖

 <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.2.5.RELEASE</version>
        </dependency>
  • 关于Spring的依赖大家可去Maven仓库里面去找,里面有不同的Spring依赖,大家可以根据自己的需要进行查找。
  • Maven仓库地址:Spring依赖

2、创建实体类对象

package com.my.pojo;

public class Hello {

    public String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "Hello{" +
                "name='" + name + '\'' +
                '}';
    }
}
  • 对于实体类创建的要求,我们要根据不同的依赖注入方式进行一些变更,因为象基于有参构造函数的依赖注入就必须要求我们要创建实体类的有参构造函数,而set注入就必须要求我们的实体类要创建set函数。关于依赖注入的详细介绍,下一个博客再进行说明。

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 id="hello" class="com.my.pojo.Hello"></bean>

</beans>
  • 在Spring的程序当中配置文件是相当重要的,它就相当于一个容器,里面存放着对象并且对对象进行配置。
  • bean标签:一个bean标签就相当于一个类,它的作用就是为实体类进行注册和配置。
  • id属性:每一个bean都具有一个或多个标识符,id的作用就相当于给bean取一个别名,方便进行查找。但是需要注意的是在同一个容器当中每一个bean都不能具有相同的id或name。
  • name属性:跟上面的id属性的作用和用法是差不多的,但是还是有着一些区别。name属性可以同时为bean取多个标签,并用逗号(,),分号(;)或空格分隔。例如
<bean id="hello" class="com.my.pojo.Hello" name="hello1 hello2"></bean>
  • class属性:这个属性是用来定义bean的类型的,它的值必须引用完全限定的类名,你也可以这样想象,bean就是同过这个属性把实体类对象与bean绑定起来的。

4、创建测试

 @Test
    public void testDemo(){
        //创建和配置bean
        ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml");
        //检索配置实例
        Hello hello = (Hello) ac.getBean("hello");
        
        hello.setName("Spring");
        System.out.println(hello);
    }
  • 大家看到这个测试函数是不是有些奇怪,像我们以往写Java程序的时候调用对象时不都是先new一个对象再调用吗?但是为什么在这个地方为什么没有new对象就可以直接进行调用了。这其实就反应了Spring的一个重要的思想IOC(控制反转)思想。原先对象的创建都需要我们程序员去手动的进行创建,然而Spring却把这个关系进行反转了,现在是由程序自己进行对象的创建,我们就只需要调用程序创建的对象就行了。
  • ApplicationContext:ClassPathXmlApplicationContext为它的实现类,它的作用是创建和配置bean。它可以通过数组和通配符的方式同时创建多个bean。Application由BeanFactory派生而来,提供了更多面向实际的功能。
  • getBean(“hello”):在bean容器中通过bean的标识符进行检索查找配置实例。

5、测试结果

E:\Java\jdk1.8.0_231\bin\java.exe -ea -com.intellij.rt.junit.JUnitStarter -ideVersion5 -junit4 com.my.pojo.HelloTest,testDemo
Hello{name='Spring'}

Process finished with exit code 0

  • 大家看到这里是不是觉得Spring非常的简单,但是其实上Spring确实是非常简单易学,只不过Spring的配置非常麻烦,有着配置地狱之称。可能大家同这个例子可能并感觉不到,因为我这个是一个非常简单,简单到极致的一个Spring程序。不过大家不要太担心,因为Spring已经给我们解决了这个问题,那就是Springboot。这个以后再学,现在还是先学好Spring。

谢谢观看。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

高山无涯

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值