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




相关推荐
AwesomeDevin2 小时前
AI时代,我们的任务不应沉溺于与 AI 聊天,🤔 从“对话式编程”迈向“数字软件工厂”
前端·后端·架构
庄周的大鱼2 小时前
分析@TransactionalEventListener注解失效
java·spring·springboot·事务监听器·spring 事件机制·事务注解失效解决
史蒂芬_丁3 小时前
C++深度拷贝例子
java·开发语言·c++
Victor3563 小时前
MongoDB(60)如何使用explain命令?
后端
云烟成雨TD3 小时前
Spring AI Alibaba 1.x 系列【4】ReAct 范式与 ReactAgent 核心设计
java·人工智能·spring
Victor3563 小时前
MongoDB(59)如何分析查询性能?
后端
「QT(C++)开发工程师」3 小时前
C++11三大核心特性深度解析:类型特征、时间库与原子操作
java·c++·算法
乐分启航3 小时前
SliMamba:十余K参数量刷新SOTA!高光谱分类的“降维打击“来了
java·人工智能·深度学习·算法·机器学习·分类·数据挖掘
yoothey4 小时前
Java字节流与字符流核心笔记(问答+考点复盘)
java·开发语言·笔记