其他分享
首页 > 其他分享> > Spring学习笔记-Hello Spring

Spring学习笔记-Hello Spring

作者:互联网

实现原理

采用XML方式配置Bean的时候,Bean的定义和实现分离的,采用注解的方式可以将两者合为一体,Bean的定义信息直接以注解形式定义在实现类中,从而实现了零配置。
控制反转是一种通过描述(XML/注解),并通过第三方去生产或获取特定对象的方式,Spring中实现控制反转的是IoC容器,其实现方法为依赖注入(Dependency Injection,DI)。

package cn.iris.pojo;

/**
 * @author Iris 2021/8/10
 */
public class HelloSpring {

    private String name;

    public String getName() {
        return name;
    }

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

    @Override
    public String toString() {
        return "HelloSpring{" +
                "name='" + name + '\'' +
                '}';
    }
}
<?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">

    <!--使用Spring创建对象,Spring中将对象描述为Bean-->
    <bean id="hello" class="cn.iris.pojo.HelloSpring">
        <property name="name" value="Spring"/>
    </bean>

</beans>
import cn.iris.pojo.HelloSpring;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * @author Iris 2021/8/10
 */
public class MyTest {
    public static void main(String[] args) {
        // 获取Spring的上下文对象
        ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
        // 对象均在Spring中管理,使用时从中取出
        Object hello = (HelloSpring) context.getBean("hello");

        System.out.println(hello.toString());

    }
}

//输出结果
HelloSpring{name='Spring'}

控制反转(IoC)

控制:使用Spring时,对象由Spring创建
反转:程序本身不创建对象,变成被动的接受
IoC即是将主动的创建变为被动的接收ontext
到现在,我们彻底不用去程序中改动,实现不同操作仅需在xml配置文件中进行修改-->IoC:对象由Spring来创建、管理、装配

程序员写好程序,告诉Spring写到‘单子’上,用户照着‘单子’去拿自己想用的

<!--使用Spring创建对象,Spring中将对象描述为Bean
        bean = new 类型()
            id = 变量名
            class = new 的对象
            property 给对象属性设值
                name 属性名
                value 普通类型赋值
                ref 引用类型赋值
-->

IoC创建对象方式

<bean class="cn.iris.pojo.User" id="user">
    <!--1. 下标赋值(从0开始)-->
    <constructor-arg index="0" value="Iris"/>
</bean>
<!--2. 根据参数类型比对赋值-->
    <constructor-arg type="java.lang.String" value="iris"/>
<!--3. 根据参数名赋值-->
    <constructor-arg name="name" value="iris"/>

总结:在配置文件加载时,容器中管理的对象就已经初始化

标签:name,Spring,HelloSpring,笔记,Hello,IoC,public,String
来源: https://www.cnblogs.com/irispassionguy/p/ssm_spring_hello.html