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+"]";
    }
}




相关推荐
程序员爱钓鱼1 小时前
Go 编程实战:函数 Function——参数、返回值与代码复用
后端·面试·go
To_OC7 小时前
跑了3个Docker容器后,我终于搞懂镜像和容器到底啥关系
后端·docker·容器
东风破_7 小时前
Docker 基础:为什么需要容器?
前端·后端·nginx
葡萄成熟时 !7 小时前
JAVA 常用API学习笔记
java·笔记·学习
东风破_7 小时前
Docker 实战:使用 Nginx 作为容器入口代理 Node 服务
前端·后端·nginx
Lyyaoo.8 小时前
Spring Boot Validation 声明式参数校验
spring boot·后端·mysql
剩下了什么8 小时前
float32 与 float64 精度陷阱:如何在 Go 中避免错误使用
开发语言·后端·golang
Rain的Java大神之路8 小时前
介绍一下分布式事务
java·分布式·后端·spring·spring cloud·架构·springcloud
吴声子夜歌9 小时前
Java面试题——基础(一)
java·开发语言
南城以南溫暖如初1479 小时前
外卖CPS实战指南:从技术选型到运营落地全流程解析
java·spring boot·mysql·架构·vue