spring ioc如何创建对象?实例解析

TheDisguiser 2020-08-07 15:42:31 java常见问答 6760

spring两大核心 ioc与aop混过互联网的小伙伴们相信都已经如雷贯耳了,谁让它们实在是太出名了,本篇文章小编就来为那么讲解IOC该如何创建对象,一起来看看吧。

首先,spring的依赖记得一定要导入啊,然后开始创建实体类

package org.west.pojo;
public class User
{
    private String name;
    private String sex;
    private int age;
    public User()
    {}
    public User(String name, String sex, int age)
    {
        this.name = name;
        this.sex = sex;
        this.age = age;
    }
    public String getName()
    {
        return name;
    }
    public void setName(String name)
    {
        this.name = name;
    }
    public String getSex()
    {
        return sex;
    }
    public void setSex(String sex)
    {
        this.sex = sex;
    }
    public int getAge()
    {
        return age;
    }
    public void setAge(int age)
    {
        this.age = age;
    }
    @Override
    public String toString()
    {
        return "User{" +
            "name='" + name + '\'' +
            ", sex='" + sex + '\'' +
            ", age=" + age +
            '}';
    }
}

再来,就是配置文件,通过注册bean来创建各种对象

<bean id="user" class="org.west.pojo.User">
        <property name="name" value="月亮妹妹/>
        <property name="age" value="16"/>
        <property name="sex" value="女"/>
    </bean>

赋值有三好:

下标赋值精神好

<!--使用构造的参数的下标进行赋值-->
<bean id="user2" class="org.west.pojo.User">
    <constructor-arg index="0" value="星星小弟"/>
    <constructor-arg index="1" value="男"/>
    <constructor-arg index="2" value="10"/>
</bean>

名字赋值肚子饱

<!--通过名字来进行赋值-->
    <bean id="user3" class="org.west.pojo.User">
        <constructor-arg name="name" value="太阳大哥"/>
        <constructor-arg name="age" value="18"/>
        <constructor-arg name="sex" value="男"/>
    </bean>

类型赋值胃口倒

<!--通过类型来进行赋值-->
    <bean id="user4" class="org.west.pojo.User">
        <constructor-arg type="java.lang.String" value="宇宙爸爸"/>
        <constructor-arg type="java.lang.String" value="138.2.1"/>
        <constructor-arg type="java.lang.Integer" value="?"/>
    </bean>

赋值完,最后当然是再测试下啦

package org.west.demo;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.west.pojo.User;
public class TestDemo
{
    @Test
    public void test()
    {
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        User user = (User) context.getBean("user3");
        System.out.println(user);
    }
}

PS:无参构造方法必须要有一个

今天的全部内容就是这样了,还想知道更多java架构师知识的小伙伴可以关注网站奇Q工具网来了解详情。

推荐阅读:

spring ioc面试题都有哪些?应该怎么理解?

spring ioc容器初始化过程是怎样的?详解

spring ioc注入方式有几种?该怎么实现?