前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring基础(六):Bean自动装配

Spring基础(六):Bean自动装配

原创
作者头像
Lansonli
发布2022-12-25 11:57:07
3280
发布2022-12-25 11:57:07
举报
文章被收录于专栏:Lansonli技术博客

​Bean自动装配

通过property标签可以手动指定给属性进行注入

我们也可以通过自动转配,完成属性的自动注入,就是自动装配,可以简化DI的配置

一、准备实体类

代码语言:javascript
复制
package com.lanson.bean;
/**
 * @Author: lansonli
 * @Description: MircoMessage:Mark_7001
 */
public class Dept {
}

代码语言:javascript
复制
package com.lanson.bean;
/**
 * @Author: lansonli
 * @Description: MircoMessage:Mark_7001
 */
public class Emp {
    private Dept dept;
    @Override
    public String toString() {
        return "Emp{" +
                "dept=" + dept +
                '}';
    }
    public Dept getDept() {
        return dept;
    }
    public void setDept(Dept dept) {
        this.dept = dept;
    }
    public Emp() {
    }
    public Emp(Dept dept) {
        this.dept = dept;
    }
}

二、配置文件

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:p="http://www.springframework.org/schema/p"
       xmlns:c="http://www.springframework.org/schema/c"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd">
    <bean id="dept" class="com.lanson.bean.Dept"></bean>
    <!--
    autowire 属性控制自动将容器中的对象注入到当前对象的属性上
    byName 根据目标id值和属性值注入,要保证当前对象的属性值和目标对象的id值一致
    byType 根据类型注入,要保证相同类型的目标对象在容器中只有一个实例
    -->
    <bean id="emp" class="com.lanson.bean.Emp" autowire="byName"></bean>
</beans>

三、测试代码

代码语言:javascript
复制
package com.lanson.test;
import com.lanson.bean.Emp;
import com.lanson.bean.User;
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
 * @Author: lansonli
 * @Description: MircoMessage:Mark_7001
 */
public class Test2 {
    @Test
    public void testGetBean(){
        ClassPathXmlApplicationContext context =new ClassPathXmlApplicationContext("applicationContext2.xml");
        Emp emp = context.getBean("emp", Emp.class);
        System.out.println(emp);
    }
}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ​Bean自动装配
    • 一、准备实体类
      • 二、配置文件
        • 三、测试代码
        相关产品与服务
        容器服务
        腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档