Spring IoC容器与Bean管理6:使用XML方式实现Spring IoC一:基于构造方法实例化对象,之基于【默认构造方法】实例化对象;

说明: 

(0)本篇博客篇幅很长,但是熟悉后就会发现,内容挺少的; 

(1)通过【Spring IoC容器与Bean管理4:使用XML方式实现Spring IoC预一:Spring IoC初体验一:IoC容器完成【对象的实例化】;】和【Spring IoC容器与Bean管理5:使用XML方式实现Spring IoC预二:Spring IoC初体验二:IoC容器完成【对象与对象之间的依赖关系】;】两篇博客,我们对Spring IoC有了一个模糊的感性认识;但是,光有感性认识远远不够,Spring IoC中有很多细节需要逐一了解。

……………………………………………………

(2)Spring IoC部分主要分为以下几个模块:

 即Spring IoC部分主要内容是【使用XML的方式,实现Spring IoC】,【Bean对象的作用域和生命周期】,【使用注解方式,实现Spring IoC】,【使用Java Config方式,实现Spring IoC】这四部分。而本篇博客主要介绍,如上图的红色部分:无参构造(也就是认构造方法)实例化对象;

…………………………………………………… 

(3)其实Spring IoC的核心就是管理对象,而Spring IoC容器中管理的对象是Java Bean对象(以后,可以使用Bean来指代IoC容器中的对象;),所以Spring IoC部分的主要内容也可以认为是【如何配置Bean】;

这三种配置方式,其本质是一样的,都是告诉Spring IoC容器如何实例化Bean和如何管理Bean;只是,这三种配置方式外在表现形式不一样而已;

目录

1.内容简介

(1.1)在xml配置文件中,配置Bean(就是对象啦);

(1.2)如何去加载xml配置文件?

2.演示

(2.1)在pom文件中,引入Spring依赖;

(2.2)创建包,和,两个演示用的实体类

(2.3)创建配置文件applicationContext.xml

(2.4)实际测试:创建测试类:SpringApplication


1.内容简介

(1.1)在xml配置文件中,配置Bean(就是对象啦);

(1.2)如何去加载xml配置文件


2.演示

(2.1)在pom文件中,引入Spring依赖;

pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.imooc</groupId>
    <artifactId>s2</artifactId>
    <version>1.0-SNAPSHOT</version>

    <repositories>
        <repository>
            <id>aliyun</id>
            <name>aliyun</name>
            <url>https://maven.aliyun.com/repository/public</url>
        </repository>
    </repositories>

    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.3.9</version>
        </dependency>
    </dependencies>

</project>

说明:

(1)这儿可以参考下【Spring IoC容器与Bean管理4:使用XML方式实现Spring IoC预一:Spring IoC初体验一:IoC容器完成【对象的实例化】;】 ;

(2)对于Spring IoC来说,在pom.xml中我们只需要手动引入一个模块:SpringFramework框架中的【spring-context】模块即可;这是因为,当我们引入【spring-context】模块后,其他需要的、所需要依赖的其他模块,maven会自动帮我们引入;

(3)然后,经过一会,在工程扩展的类库的地方,就会看到【由maven引入的,spring-context模块,和,其他需要依赖的组件和模块】:

如上图所示,引入了【aop】,【beans】,【context】,【core】,【expression】,【jcl】这几个模块;这几个模块是构成Spring运行的最基础的支撑模块;  其中,【context】模块就是我们在pom.xml中手动引入的模块;  【aop】,【beans】,【core】,【expression】,【jcl】这几个模块,是maven根据【context】的依赖,自动帮我们引入的;

(4)狭义SpringFramework框架的自带的其他模块介绍:

(2.2)创建【包】和【两个演示用的实体类

为了能够利用IoC对Apple类的对象进行实例化,就需要在xml配置文件了; 

(2.3)创建配置文件applicationContext.xml

applicationContext.xml:这个文件可以起其他名字,只是我们约定俗称起做applicationContext而已;

<?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="apple1" class="com.imooc.spring.ioc.entity.Apple">
    </bean>
</beans>

说明:

(1)这儿可以参考下【Spring IoC容器与Bean管理4:使用XML方式实现Spring IoC预一:Spring IoC初体验一:IoC容器完成【对象的实例化】;】 ;

(2)为了,能看到,【其在实例化对象的时候,确实是调用无参构造来实例化的】,所以在Apple类的无参构造中,我们打印了一点东西:

(2.4)实际测试:创建测试类:SpringApplication

SpringApplication:

package com.imooc.spring.ioc;

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

public class SpringApplication {
    public static void main(String[] args) {
        ApplicationContext context = new ClasspathXmlApplicationContext("classpath:applicationContext.xml");
    }
}

说明:

(1)ApplicationContext接口;

(2)这儿可以参考下【Spring IoC容器与Bean管理4:使用XML方式实现Spring IoC预一:Spring IoC初体验一:IoC容器完成【对象的实例化】;】 ;


本篇博客是【通过认构造方法,也就是无参构造啦】来实例化对象,但是认构造方法的能力是有限的;很多情况下,我们需要带参构造方法去创建对象;这也就是下一篇博客内容

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念