Spring 复习总结(一)——spring的简单配置使用 IOC控制翻转创建类对象

1 导入jar包

在官网下载spring相应版本的压缩文件,解压后的文件夹下有几个文件夹目录,进入libs目录下

里面都是jar包

里面的jar包分三种:

1、源码编译后的 class 文件 jar 包

2、文档包 -javadoc 结尾,在我们使用 jar 包内的类或者方法时都会有详细的解释和介绍

3、源码包 -sources 结尾,对类使用CTRL + 左键 能进入看到 Java  源码

但是注意:我们 jar 包先导编译后的 class jar包,如果导入的是其他两种jar包会出现无法使用类的情况,jar文档和源码包是在导入编译后jar包之后在追加导入的,导入方法详情请移步另一博主文章:https://blog.csdn.net/u013761606/article/details/32344061

一般最基础spring我们只需要导入四个jar包:

spring-beans-4.3.25.RELEASE.jar 、 spring-context-4.3.25.RELEASE.jar 、 

spring-core-4.3.25.RELEASE.jar 、 spring-expression-4.3.25.RELEASE.jar

和一个依赖jar包:commons-logging-1.3.jar (这个包在网上百度一下就能找到下载)

2 写一个javabean 或者 操作类

在这里我就随便建了一个User类,里面给上属性和get  set 方法,以及一个add()操作测试方法,内容只是简单的输出

User类代码如下:

public class User {
    private String UID;
    private String username;
    private String password;
    
    public User() {}
    
    public User(String uID, String username, String password) {
        UID = uID;
        this.username = username;
        this.password = password;
    }
    
    public String getUID() {
        return UID;
    }
    public void setUID(String uID) {
        UID = uID;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    
    public void add() {
        System.out.println("User add ...");
    }
    
}

3 配置spring的配置文件

spring配置文件名称可以自己定义,因为在使用IOC创建对象时第一步还要加载配置文件,在加载的时候写清楚配置文件的路径和名称就可以,官方给的配置文件名是 applicationContext.xml ,我们完全可以自己定义,但配置文件要是XML 文件,配置文件格式可以在我们解压的spring文件里面找,我是通过打开解压目录下的  docs \ spring-framework-reference \ html 里面的 xsd-configuration.html 页面

页面会在浏览器打开,翻到页面的最后,就是我们需要的配置文件内容,如下图:

复制内容到 XML配置文件里,内容里的<bean></bean>标签可以不用复制,我们自己写,还有就是我一般是自接把配置文件放在src路径下,当然你要放在其他目录下也可以,只是要记得在加载配置文件是写出对的路径,我们把内容写进配置文件,代码如下:

<?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">
    
    <!-- 配置User类 -->
    <bean id="user" class="com.study.user.User"></bean>

</beans>

我们的具体配置是写在<beans></beans>标签内的,里面我们加上<beans></beans>标签,标签里有两个属性:id 和 class ,class里面见名知意就是填我们需要配置得类的信息,这里填写的是需要配置得类的全路径,id 的话我们也可以自己定义,不过一般我们都是写与类名一致,只不过首字母改成小写,例如:User 类 id 的值我就写 user 。这里的id稍后我们通过IOC创建对象的时候会用到。

4 IOC的方法创建对象

做完上配置和准备工作后,接下来我们就该实验结果了,看怎么使用配置得形式就能得到类对象。

我先创建一个测试类UserBean,在里面写测试方法getuserbean(),代码如下:

public class UserBean {
    
    @Test
    public void getuserbean() {
        // 1 读取 spring 配置文件内容
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

        // 2 通过ApplicationContext 获取配置得Javabean对象 代替传统的new 获取对象
        User user = (User) context.getBean("user");

        System.out.println(user);
        // 3 调用类的方法
        user.add();
    
    }
}

测试类里面

第一步  我们先要加载配置文件,用ClassPathXmlApplicationContext(“配置文件路径”),加载配置文件得到ApplicationContext。

第二步  通过得到的ApplicationContext 的  getBean("配置文件里配置类的id值") 方法就能得到相应的类对象,这里注意返回的是一个T泛型,我们需要进行类型转换。

第三步 得到了对应的类对象,后面的操作就不多说了,对象都拿到了自然里面的方法就能拿来使用。

直接跑一下程序

控制台输出的内容正确,说明我们通过配置,利用spring 的 IOC 控制反转的方式成功的拿到类对象并调用类里面的方法,而不是通过传统的new方式去获取类对象。