首页 > 其他分享 >6_Spring_Bean的自动装配

6_Spring_Bean的自动装配

时间:2023-03-02 21:45:08浏览次数:38  
标签:装配 Dept Spring bean msb dept Bean Emp public

 bean自动装配

通过property标签可以手动指定给属性进行注入
我们也可以通过自动转配,完成属性的自动注入,就是自动装配,可以简化DI的配置


准备实体类
 

package com.msb.bean;
/**
 * @Author: Ma HaiYang
 * @Description: MircoMessage:Mark_7001
 */
public class Dept {
}

 

package com.msb.bean;
/**
 * @Author: Ma HaiYang
 * @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;
    }
}

 

配置文件
 

<?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.msb.bean.Dept"></bean>
    <!--
    autowire 属性控制自动将容器中的对象注入到当前对象的属性上
    byName 根据目标id值和属性值注入,要保证当前对象的属性值和目标对象的id值一致
    byType 根据类型注入,要保证相同类型的目标对象在容器中只有一个实例
    -->
    <bean id="emp" class="com.msb.bean.Emp" autowire="byName"></bean>
</beans>

 

测试代码
 

package com.msb.test;
import com.msb.bean.Emp;
import com.msb.bean.User;
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
 * @Author: Ma HaiYang
 * @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);
    }
}

 

标签:装配,Dept,Spring,bean,msb,dept,Bean,Emp,public
From: https://www.cnblogs.com/89564f/p/17173657.html

相关文章

  • 6_Spring_Bean的自动装配
    ​ bean自动装配通过property标签可以手动指定给属性进行注入我们也可以通过自动转配,完成属性的自动注入,就是自动装配,可以简化DI的配置准备实体类 packageco......
  • Spring 为解决应用开发的复杂性而生
    课程简介和目标是一个开源框架,它由RodJohnson创建,.它是一个容器框架,用来装javabean,这种中间层框架可以起一个连接作用,比如说把Struts和hibernate结合在一起运用,就是早......
  • 3_Spring_IOC原理分析_重要
    ​ IOC底层原理 1XML解析技术读取配置文件 <beanid="empDao"class="com.msb.dao.impl.EmpDaoImpl"></bean> 将上面的信息读取进入程序 对象的ID,一个......
  • springMVC全注解开发
    消除springmvc.xml创建配置类@Configuration@ComponentScan({"com.java.service","com.java.web.controller"})@EnableWebMvc//<mvc:annotation-driven/><mvc:defaul......
  • SpringCloud文件夹上传解决方案
    ​ 前言:因自己负责的项目(jetty内嵌启动的SpringMvc)中需要实现文件上传,而自己对java文件上传这一块未接触过,且对Http协议较模糊,故这次采用渐进的方式来学习文件上传的......
  • SpringBoot内部方法之间跳转
    从controller的一个方法跳转到另一个方法中可以通过重定向实现,重定向具体语法:redirect:要访问的网址具体请看下面示例:@Controller@RequestMapping("/user")publicclass......
  • SpringBoot整合MapStruct
    第一步:添加依赖<dependency><groupId>org.mapstruct</groupId><artifactId>mapstruct</artifactId><version>1.5.3.Final</version></dependency>第二步......
  • SpringBoot2.6 集成Druid 启动项目 运行SQL文件 自动生成数据库表及数据
    SpringBoot项目启动运行SQL文件自动生成数据库表及数据。第一步:创建SpringBoot项目,添加依赖<dependency><groupId>mysql</groupId><artifactId>mysql-connect......
  • Solon2 的 Bean 生命周期
    Solon框架的Bean是被容器托管的,所以它的生命周期只限定在容器内部:时机点说明补充AopContext::new()是在应用初始化时执行::new()AopContext::beanSca......
  • SSM框架-Spring学习日记3
    依赖注入(DI)依赖注入(DependencyInjection,DI)。依赖:指Bean对象的创建依赖于容器.Bean对象的依赖资源。注入:指Bean对象所依赖的资源,由容器来设置和装配。Se......