Spring的核心功能-IOC/DI及基本使用(一)

Spring的俩个核心功能

1、IOC/DI  控制反转/依赖注入
2、AOP

## IOC 控制反转
1.利用程序控制对象的创建和声明周期的管理称为“主动控制”。
	主动控制适合管理和创建过程简单的对象。
2.相对“主动控制”来说,为控制反转。
	对象的创建过程复杂繁琐,适合控制反转,将对象的创建和生命周期管理交给“环境”,也就是交给Spring框架来进行管理。
3.使用Spring的控制反转
	1.导入Spring的包
	2.创建需要被管理的对象
	3.配置Spring的配置文件:告诉Spring IOC创建哪个类型的对象
	4.创建测试案例
		1)初始化Spring IOC容器,Spring会自动创建对象
		2)从Spring中获得创建好的对象

1.创建maven工程导入Spring的包与Junit的包(方便测试)

		<!--Spring框架包-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.2.2.RELEASE</version>
        </dependency>
        <!--Junit测试包-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>

2.创建需要被管理的对象(这里简单创建了一个用户的实体类)

package entity;

public class User {
    private String userName;
    private Integer age;
    private String sex;

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public Integer getAge() {
        return age;
    }

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

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

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

3.配置Spring的配置文件,在resources文件夹下创建applicationContext.xml文件(参考官网链接)
xml配置文件官网链接

<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">

	<!-- 通知Spring,再启动时候自动创建User类型对象,并且绑定标识ID为“user” -->
	<bean id="user" class="entity.User"></bean>
	<!-- 如果该类为接口,或者抽象类需要加上属性,abstract="true" -->
	<bean id="user" abstract="true" class="entity.User"></bean>
</beans>

4.创建测试案例

@Test
    public void getUser(){
        ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
        //根据配置文件中的标识id来获取
        //User user = (User)ctx.getBean("user");

        //Spring提供重载方法,可避免类型转化
        User user = ctx.getBean("user",User.class);
        user.setUserName("csdn");
        System.out.println(user);
    }

5.运行结果
User{userName=‘csdn’, age=null, sex=‘null’}
可以看出这样我们就将对象交给了Spring来管理,想要获取对象时就可以通过Spring框架来获取对象。
小伙伴们肯定会有许多疑问?这样获取对象不如自己创建简单,怎么样创建对象时赋值进行初始化等等,看下一篇文章。

发布了10 篇原创文章 · 获赞 9 · 访问量 279

猜你喜欢

转载自blog.csdn.net/weixin_45056780/article/details/104719924