获取spring工厂中bean对象的两种方式

简介: 获取spring工厂中bean对象的两种方式

获取spring工厂中bean对象的两种方式

我们知道面向对象的java编程方式是通过new对象再调用相应的方法实现的,这是传统的对对象的操作方式;spring通过引入工厂来管理操作bean对象实现了对象的创建,管理,销毁等操作。

一、传统对象管理方式:

  • 在接口 UserDao里新建一个空方法
  • UserDaoImpl作为 UserDao的实现类
  • UserDaoTest创建一个对象,用于调用 UserDaoImpl实现类里的方法

以上就是传统对对象的管理方法。

二、spring工厂操作bean管理对象

  • 首先生成一个spring的配置文件 applicationContext.xml
<bean id="aa" class="com.ay.test.springTest" /><!--这是第一种bean扫描方式,设置了bean唯一标识符-->
<context:component-scan base-package="com.ay"/><!--这是第二中扫描方式,自动扫描ay包下的所有类,并且将这个包下的所有类注册为bean对象,这个方法用的比较方便-->
  • 创建一个 springTest类用来实现获取bean对象以及调用方法:
package com.ay.test;
import org.junit.jupiter.api.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.stereotype.Service;
@Service
public class springTest {
    @Test
    public void testSpring(){
    ApplicationContext applicationContext=new ClassPathApplicationContext("applicationContext.xml");//首先启动工厂,加载spring的配置文件【这个配置文件文件使我们自己刚刚配置的】
        //第一种获取bean对象方式
        springTest aa=(springTest)applicationContext.getbean("aa");//填入我们设置的bean唯一标识符
      aa.sayHello();
        
        //第二种获取bean对象方式
        springTest springTest = (com.ay.test.springTest) applicationContext.getBean("springTest");//直接填入方法
        springTest.sayHello();
    }
    public void sayHello(){
        System.out.println("Hello ay");
    }
}
以上介绍了两种通过配置文件扫描注册bean对象的方法,并在测试类中又用了两种获取bean对象的方式,一般来说第二种方式更方便。


目录
相关文章
|
XML Java 测试技术
Spring IOC—基于注解配置和管理Bean 万字详解(通俗易懂)
Spring 第三节 IOC——基于注解配置和管理Bean 万字详解!
940 26
|
存储 Java Spring
【Spring】获取Bean对象需要哪些注解
@Conntroller,@Service,@Repository,@Component,@Configuration,关于Bean对象的五个常用注解
422 12
|
存储 Java 应用服务中间件
【Spring】IoC和DI,控制反转,Bean对象的获取方式
IoC,DI,控制反转容器,Bean的基本常识,类注解@Controller,获取Bean对象的常用三种方式
557 12
|
XML Java 数据格式
Spring容器Bean之XML配置方式
通过对以上内容的掌握,开发人员可以灵活地使用Spring的XML配置方式来管理应用程序的Bean,提高代码的模块化和可维护性。
494 6
|
XML Java 数据格式
🌱 深入Spring的心脏:Bean配置的艺术与实践 🌟
本文深入探讨了Spring框架中Bean配置的奥秘,从基本概念到XML配置文件的使用,再到静态工厂方式实例化Bean的详细步骤,通过实际代码示例帮助读者更好地理解和应用Spring的Bean配置。希望对你的Spring开发之旅有所助益。
|
安全 Java 开发者
Spring容器中的bean是线程安全的吗?
Spring容器中的bean默认为单例模式,多线程环境下若操作共享成员变量,易引发线程安全问题。Spring未对单例bean做线程安全处理,需开发者自行解决。通常,Spring bean(如Controller、Service、Dao)无状态变化,故多为线程安全。若涉及线程安全问题,可通过编码或设置bean作用域为prototype解决。
383 1
|
XML 安全 Java
Spring Boot中使用MapStruct进行对象映射
本文介绍如何在Spring Boot项目中使用MapStruct进行对象映射,探讨其性能高效、类型安全及易于集成等优势,并详细说明添加MapStruct依赖的步骤。
583 0
|
Java Spring
Spring中的普通bean和工厂bean
Spring中的普通bean和工厂bean
Spring中的普通bean和工厂bean
|
Java Spring 容器
Spring构造通过工厂创建bean
Spring构造通过工厂创建bean
|
Java Android开发 Spring
sping练习,在Eclipse搭建的Spring开发环境中,使用工厂方式创建Bean对象,将创建的Bean对象输出到控制台。
sping练习,在Eclipse搭建的Spring开发环境中,使用工厂方式创建Bean对象,将创建的Bean对象输出到控制台。
372 0
sping练习,在Eclipse搭建的Spring开发环境中,使用工厂方式创建Bean对象,将创建的Bean对象输出到控制台。