Spring项目的创建和使用

目录

1.创建spring-core项目

1.创建一个空的maven项目

2.引入spring依赖

3.添加一个启动类

 2.向Spring容器中“存”------存储Bean对象

1.创建Bean

2.将Bean注册到容器

 3.向spring容器中“取”------获取并使用Bean对象

1.创建Spring上下文

2.获取指定的Bean对象

3.使用Bean

4.总结

5.ApplicationContext和BeanFactory的区别(常见面试题)


1.创建spring-core项目

使用maven方式来创建一个Spring项目,分为以下3步:

1.创建一个普通maven项目

2.添加Spring框架

3.添加启动类

1.创建一个空的maven项目

Spring项目的创建和使用_第1张图片

2.引入spring依赖

在pom.xml中添加spring框架的支持,xml配置如下:

    
        
            org.springframework
            spring-context
            5.2.3.RELEASE
        
    

3.添加一个启动类

可以随意命名,这里给启动类命名为App,包含main方法即可。

Spring项目的创建和使用_第2张图片

 2.向Spring容器中“存”------存储Bean对象

存储Bean分为以下2步:

1.创建一个Bean对象

2.将创建的Bean注册到Spring容器中

1.创建Bean

bean:指对象(这里的所有对象都称之为bean)

示例:创建一个User类:

public class User {
    private String name;
    private Integer age;

    public String getName() {
        return name;
    }

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

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }
}

2.将Bean注册到容器

在创建好的项目中添加Spring配置文件spring-config.xml,将此文件放到resources根目录下。

Spring项目的创建和使用_第3张图片

 

 Spring配置文件的固定格式为以下内容(以下内容无需记忆,只要保存到自己可以找到的地方就可以了,因为他是固定不变的):



接下来,将User对象注册到Spring中就可以,具体操作是在中添加如下配置:


    

Spring项目的创建和使用_第4张图片

 3.向spring容器中“取”------获取并使用Bean对象

获取并使用Bean对象,分为以下3步:

1.得到Spring上下文对象,因为对象都交给Spring管理了,所以获取对象要从Spring中获取,那么就先得得到Spring上下文。

2.通过Spring上下文,获取某一个指定的Bean对象。

3.使用Bean对象。

1.创建Spring上下文

方法①:使用ApplicationContext

在App的main方法中输入以下语句:

ApplicationContext context=new ClassPathXmlApplicationContext("spring-config.xml");

Spring项目的创建和使用_第5张图片

通俗理解,也可以把ApplicationContext当作Spring的运行环境,用来读取配置文件。

方法②:使用BeanFactory

BeanFactory factory=new XmlBeanFactory(new ClassPathResource("spring-config.xml"));

ApplicationContext和BeanFactory效果是一样的,ApplicationContext属于BeanFactory的子类。

那么ApplicationContext和BeanFactory的区别是什么呢,详情见5(目录)。

2.获取指定的Bean对象

ApplicationContext context=new ClassPathXmlApplicationContext("spring-config.xml");
//根据id获取指定的Bean对象
context.getBean("user");

Spring项目的创建和使用_第6张图片

 Bean的id要一一对应,如上图所示。

使用User对象接收:

//根据id获取指定的Bean对象
User user=(User)context.getBean("user");

3.使用Bean

举例:在User类中添加一个sayHi()方法,使用Bean来调用此方法。

User类:

    public void sayHi(){
        System.out.println("hi!");
    }

使用Bean:

        //调用方法
        user.sayHi();

运行结果:

Spring项目的创建和使用_第7张图片

4.总结

操作流程图如下:

Spring项目的创建和使用_第8张图片

5.ApplicationContext和BeanFactory的区别(常见面试题)

共同点:都是获取SpringBean

不同点

1.从继承关系和功能方面来说:Spring 容器有两个顶级的接⼝:BeanFactory 和

ApplicationContext。其中 BeanFactory 提供了基础的访问容器的能⼒,⽽ ApplicationContext

属于 BeanFactory 的⼦类,它除了继承了 BeanFactory 的所有功能之外,它还拥有独特的特性,

还添加了对国际化⽀持、资源访问⽀持、以及事件传播等⽅⾯的⽀持。

2.从性能方面来说:ApplicationContext 是⼀次性加载并初始化所有的 Bean 对象,⽽

BeanFactory 是需要那个才去加载那个,因此更加轻量。

你可能感兴趣的:(spring,java,mysql,后端)