美文网首页
Spring学习笔记01--简介及HelloWorld

Spring学习笔记01--简介及HelloWorld

作者: 给点阳光我就灿烂_ab56 | 来源:发表于2019-11-24 17:52 被阅读0次

一、什么是Spring

  • Spring是一个基于IOC(控制反转 Inversion of Control)和AOP(之后讲解)的结构,J2EE系统的框架
  • 简单来说就是以前的Java程序,对象需要自己new一个,而在Spring中,对象的创建交由Spring管理,不需要自己new
  • 简介多说无益,请往下看

二、什么是控制反转 IOC

Spring的核心思想之一就是 控制反转
控制反转:对象的创建 由外部容器完成(外部容器是什么之后会讲解),这个过程就是 IOC

  • 进一步解释就是,new一个对象这个过程,不是自己写的,是Spring提供的容器来完成

那对象的赋值,Spring是怎么做的呢?这就要提到依赖注入

依赖注入(DI)

  • Spring使用依赖注入来实现对象之间的依赖关系
  • 在创建完对象之后,对象的关系处理就是依赖注入
  • 简单地说就是拿到的对象的属性,已经被注入好相关值了,直接使用即可。
  • 不理解没关系,参考之后的代码实例

三、编写Spring代码

  • 创建项目并导入相关jar包

1. 创建类,用来演示IOC及依赖注入

package com.shan.pojo;

public class Category {

    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    private int id;
    private String name;
}

2. 在src目录下创建applicationContext.xml文件

applicationContext.xml 是Spring的核心配置文件

<?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 name="category" class="com.shan.pojo.Category">
        <property name="name" value="category_1"></property>
    </bean>
</beans>
  • 通过上面的三行代码,就成功配置了Category类
  • 通过关键字(name)category就能获取到Category类的实例对象,这是 控制反转
  • 当获取该实例时,对象的name属性就被赋予了"category_1"值,这就是 依赖注入

3. 测试用例

package com.shan.pojo;

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

public class Test {
    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext(new String[] {"applicationContext.xml"});

        Category c = (Category)context.getBean("category");
        System.out.println("获取到的对象名字:" + c.getName());
    }
}

  • main中的第一行代码用于加载整个XML文件
  • context.getBean() 可以通过之前Bean中配置好的name获得对象实例
  • 整个过程没有用到new关键字

到此,Spring HelloWorld讲解完毕

相关文章

网友评论

      本文标题:Spring学习笔记01--简介及HelloWorld

      本文链接:https://www.haomeiwen.com/subject/frnlwctx.html