Spring装配对象方法-注解

Spring装配对象方法

Spring通过注解为对象装配属性。

@Autowired

@Qualifier

@Resource


beans.xml

xml 复制代码
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:p="http://www.springframework.org/schema/p"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
	http://www.springframework.org/schema/beans/spring-beans.xsd
	http://www.springframework.org/schema/context
	http://www.springframework.org/schema/context/spring-context-3.0.xsd">

    <context:component-scan base-package="com.hk.eshop"/>

</beans>

UserInfo.java

java 复制代码
package com.hk.eshop;

import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;

@Service
public class UserInfo {
    private String id = null;
    private String name = null;
    private Integer age = null;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

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

    public String toString()
    {
        return "UserInfo[id="+id+",nam="+name+"]";
    }
}

App.java

java 复制代码
package com.hk.eshop;

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

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
        UserInfo ui = (UserInfo)ctx.getBean("userInfo");//Object
        System.out.println( "ui="+ui );

    }
}

@Autowired

OrgInfo.java

java 复制代码
package com.hk.eshop;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.*;

@Service
public class OrgInfo {
    private String name = null;
    @Autowired
    private UserInfo user = null;

    public String getName() {
        return name;
    }

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

    public String toString()
    {
        return "OrgInfo[name="+name+",user="+user+"]";
    }
}


OrgInfo.java

java 复制代码
package com.hk.eshop;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;

import java.util.*;

@Service
public class OrgInfo {
    private String name = null;
    @Autowired @Qualifier("userInfo")
    private UserInfo user = null;

    public String getName() {
        return name;
    }

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

    public String toString()
    {
        return "OrgInfo[name="+name+",user="+user+"]";
    }
}




相关推荐
snakeshe1010几秒前
SpringBoot 多人协作平台实战(6):SpringBoot Controller 入门与登录模块开发
java
木雷坞1 分钟前
vLLM 服务上 K8s 前,我先把 GPU、探针和镜像过了一遍
后端
用户298698530142 分钟前
用 Java 操作 Word 文档?试试添加内容控件
java·后端
带刺的坐椅4 分钟前
Java AI 框架三国杀:Solon AI vs Spring AI vs LangChain4j 深度对比
java·ai·langchain4j·spring-ai·solon-ai
苍煜11 分钟前
K8s 集群快速搭建(系列第八篇:单机/多节点集群实战)
java·容器·kubernetes
Chase_______11 分钟前
Java 基础语言 ① —— Java 运行机制与开发环境:从 javac 到 JVM 全流程解析
java·jvm·python
北风toto11 分钟前
在 Axios 中发送 POST 请求并携带参数通常有以下两种方式
java
golang学习记13 分钟前
Go 里什么时候可以“panic”?
后端
cui_ruicheng18 分钟前
Linux线程(二):pthread 线程库与线程控制
java·开发语言·jvm