通过Spring IOC简单的基本使用来搭建Spring框架

一、通过手动导入jar包的方式来实现

1、使用spring IOC导入以下五个jar包

commons-logging-1.2.jar
spring-beans-5.2.3.RELEASE.jar
spring-context-5.2.3.RELEASE.jar
spring-core-5.2.3.RELEASE.jar
spring-expression-5.2.3.RELEASE.jar

注意:

1、commons-logging-1.2.jar只是一个高层的日志框架,其它几个jar包依赖到,所以也是需要我们导入进来的,可以去http://commons.apache.org/proper/commons-logging/download_logging.cgiApache官网下载即可。

2、下面spring库的几个jar包需要去spring官网下载对应版本的jar包导入就行了,我这里用的是5.2.3版本,点击下载

导完包如下:

java导入spring包 spring怎么导入jar包_java导入spring包

2、创建一个User类

package com.bobo.bean;

public class User {
    private int id;
    private String username;
    private String password;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    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;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

3、创建一个my_ioc的spring config文件,注意:这里把配置文件放在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 http://www.springframework.org/schema/beans/spring-beans.xsd">
        <bean id="user" class="com.bobo.bean.User">
            <property name="id" value="0"></property>
            <property name="username" value="bobo"></property>
            <property name="password" value="123"></property>
        </bean>
</beans>

4、写测试类

package com.bobo.bean;

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

public class MyIOCTest {
    public static void main(String[] args) {
        ApplicationContext user = new ClassPathXmlApplicationContext("my_ioc.xml");
        System.out.println(user.getBean("user"));
    }
}

运行输出:

java导入spring包 spring怎么导入jar包_maven_02


上述是一个简单的IOC使用,我们发现上述手动导入jar包的方式比较麻烦,而且不好管理jar包,下面我们一起来了解一下使用Maven来管理这些jar包。

二、Maven的介绍与使用

1、maven的简单介绍

Maven是Apache下的项目管理工具,它由纯Java语言开发,可以帮助我们更方便的管理和构建Java项目。

maven的优点

1、 jar包管理:

a) 从Maven中央仓库获取标准的规范的jar包以及相关依赖的jar包,避免自己下载到错误的jar包;

b) 本地仓库统一管理jar包,使jar包与项目分离,减轻项目体积。

2、 maven是跨平台的可以在window、linux上使用。

3、 清晰的项目结构;

4、 多工程开发,将模块拆分成若干工程,利于团队协作开发。

5、 一键构建项目:使用命令可以对项目进行一键构建。

2、maven的安装

maven官网:https://maven.apache.org/

maven仓库:https://mvnrepository.com/

安装步骤:

1、安装jdk
2、从官网中下载对应的版本
3、解压安装,然后配置环境变量,需要配置MAVEN_HOME,并且将bin目录添加到path路径下
4、在命令行中输入mvn -v,看到版本信息表示安装成功

3、maven的基本常识

maven如何获取jar包

maven通过坐标的方式来获取 jar包,坐标组成为:公司/组织(groupId)+项目名(artifactId)+版本(version)组成,可以从互联网,本地等多种仓库源获取jar包

maven仓库的分类

本地仓库:本地仓库就是开发者本地已经下载下来的或者自己打包所有jar包的依赖仓库,本地仓库路径配置在maven对应的conf/settings.xml配置文件。

私有仓库:私有仓库可以理解为自己公司的仓库,也叫Nexus私服

中央仓库:中央仓库即maven默认下载的仓库地址,是maven维护的

maven的常用仓库

由于网络访问的原因,在国内如果需要下载国外jar包的时候会受限,因此一般在使用过程中需要修改maven的配置文件,将下载jar包的仓库地址修改为国内的源,常用的是阿里云的mvn仓库,修改配置如下:

<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>

4、maven常用命令

  • clean:清理编译后的目录
  • compile:编译,只编译main目录,不编译test中的代码
  • test-compile:编译test目录下的代码
  • test:运行test中的代码
  • package:打包,将项目打包成jar包或者war包
  • install:发布项目到本地仓库,用在打jar包上,打成的jar包可以被其他项目使用
  • deploy:打包后将其安装到pom文件中配置的远程仓库
  • site:生成站点目录

三、使用Maven来创建项目

1、创建一个Maven项目

java导入spring包 spring怎么导入jar包_Spring_03

2、定义项目的groupId、artifactId

groupId是项目组织唯一的标识符,实际对应java包的结构,是main目录里java的目录结构。比如:com.bobo。
artifactId就是项目唯一的标识符,实际项目的名称。比如:MyMavenProject。

3、添加Spring包的依赖

去Maven仓库https://mvnrepository.com/搜索需要依赖的项目库,比如我们这里搜索Spring,如下图:

java导入spring包 spring怎么导入jar包_Spring_04


然后点击相应的库,选择需要的版本

java导入spring包 spring怎么导入jar包_jar包_05


把上图dependency依赖拷贝到自己项目中Maven配置xml文件里面就会自动下载我们需要的jar包了。

java导入spring包 spring怎么导入jar包_Spring_06

4、使用

依然先创建User.java

package com.bobo.bean;

public class User {
    private int id;
    private String userName;
    private String password;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    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;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", userName='" + userName + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

在resources目录下创建spring config的xml文件:

java导入spring包 spring怎么导入jar包_jar包_07


创建测试类:

package com.bobo.bean;

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

public class MyTest {

    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("maven_ioc.xml");
        System.out.println(context.getBean("user"));
    }
}

运行输出:

java导入spring包 spring怎么导入jar包_java导入spring包_08

四、总结

以上两种方式创建spring的项目都是可以的,但是在现在的企业开发环境中使用更多的还是maven这样的方式,无须自己处理jar之间的依赖关系,也无须提前下载jar包,只需要配置相关的pom即可,因此推荐大家使用maven的方式。

搭建spring项目需要注意的点:

  1. 一定要将配置文件添加到类路径中,使用idea创建项目的时候要放在resource目录下。
  2. ApplicationContext就是IOC容器的接口,可以通过此对象获取容器中创建的对象。
  3. 对象在Spring容器创建完成的时候就已经创建完成,不是需要用的时候才创建。
  4. 对象在IOC容器中存储的时候都是单例的,如果需要多例需要修改属性。
  5. 创建对象给属性赋值的时候是通过setter方法实现的。
  6. 对象的属性是由setter/getter方法决定的,而不是定义的成员属性。