Spring学习HelloSpring与IOC创建对象方式

Posted yfyyy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring学习HelloSpring与IOC创建对象方式相关的知识,希望对你有一定的参考价值。

三、HelloSpring

配置文件

<?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 相当于 对象                 new 对象
        id 相当于 变量名
        class 相当于 全限定
        property 相当于 给对象中的属性赋初始值
        value
    -->
    <bean id="hello" class="cn.imut.pojo.Hello">
        <property name="str" value="Spring"/>
    </bean>
</beans>c

测试

public class MyTest {
    public static void main(String[] args) {
        //用xml加载必须使用(获取Spring的上下文对象)
        ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");

        //我们的对象都在Spring中管理了,若要使用,直接取出即可
        Hello hello = (Hello) context.getBean("hello");
        System.out.println(hello.toString());
    }
}
  • Hello是由Spring创建的
  • hello对象的属性是由Spring容器设置的

这个过程称之为控制反转

控制:谁来控制对象的创建,传统应用程序的对象是由程序本身控制创建,使用Spring后,对象由Spring来创建!

反转:程序本身不创建对象,而变成被动的接收对象。

依赖注入:就是利用Set方法来进行注入的。

IOC是一种编程思想,由主动的编程变成被动的接收

四、IOC创建对象的方式

  1. 使用无参构造创建对象,默认!
  2. 若要使用有参构造

    • 下标赋值
    <!-- 下标赋值-->
    <bean id="user" class="cn.imut.pojo.User">
        <constructor-arg index="0" value="张磊"/>
    </bean>
    • 类型创建
    <!-- 不建议使用-->
    <bean id="user" class="cn.imut.pojo.User">
        <constructor-arg type="java.lang.String" value="张磊"/>
    </bean>
    • 直接通过参数名设置
    <bean id="user" class="cn.imut.pojo.User">
        <constructor-arg name="name" value="张磊"/>
    </bean>

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

以上是关于Spring学习HelloSpring与IOC创建对象方式的主要内容,如果未能解决你的问题,请参考以下文章

Spring大略学习

Spring大略学习

SpringHelloSpring,IOC创建对象的方式,Spring配置,依赖注入

Spring学习01——HelloSpring

让我们大声说:HelloSpring(“最易懂得Spring学习”)

2.HelloSpring