Spring通过配置文件管理Bean对象

目录
  • 一、Bean对象
  • 二、存储Bean对象
    • 1. 添加配置xml文件
    • 2. 创建上下文
  • 三、获取Bean对象

提示:以下是本篇文章正文内容,Java系列学习将会持续更新

一、Bean对象

Bean是Spring框架在运行时管理的对象, 是需要放置在Spring容器中进行管理的。

Spring容器

BeanFactory接口(bean工厂)——> ApplicationContext接口(应用上下文)
实现Spring容器的方法:基于xml文件、基于注解,我们接下来演示通过修改xml配置文件的方式实现IoC容器。

二、存储Bean对象

1. 添加配置xml文件

创建spring-config.xml文件放在resources静态资源包下,并插入配置代码。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
</beans>

2. 创建上下文

自己手动构建一个基于 XML 配置的 Spring 容器(一个 ApplicationContext对象)

ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");

或者

FileSystemXmlApplicationContext context = new FileSystemXmlApplicationContext("绝对路径/相对路径");

或者

BeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("spring-config.xml"));

3. 创建一个类作为Bean对象

package com.wangshaoyu.spring.ioc;
public class EmptyClass {
    EmptyClass() {
        System.out.println("EmptyClass 的构造方法被调用");
    }
}

4. 将Bean对象注入Spring中

<!-- 直接注入 -->
<bean id = "user" class="com.wangshaoyu.spring.ioc.User"/>
<bean id = "我的第一个商品" class="com.wangshaoyu.spring.ioc.EmptyClass"/>

<!-- 注册新的类,并进行构造方法注入 -->
<bean id="我的第二个商品" class="com.wangshaoyu.spring.ioc.SecondClass">
	<!-- 用 "我的第一个商品" 的对象,注入我的构造方法参数中 -->
	<constructor-arg ref="我的第一个商品" />
</bean>

<!-- setter方法注入 -->
<bean id="我的第三个商品" class="com.wangshaoyu.spring.ioc.ThirdClass">
	<property name="emptyClass" ref="我的第一个商品" />
	<property name="secondClass" ref="我的第二个商品" />
</bean>

三、获取Bean对象

User user = (User) context.getBean("user");

或者

User user = context.getBean(User.class);

或者

User user = context.getBean("user", User.class);

然后就可以通过user 对象调用User类的方法了,如user.show();

总结:
提示:这里对文章进行总结:
以上就是今天的学习内容,本文是Spring的学习,学习了通过配置文件管理Bean对象的方法。之后的学习内容将持续更新!!!

到此这篇关于Spring通过配置文件管理Bean对象的文章就介绍到这了,更多相关Spring管理Bean对象内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 解决Spring配置文件中bean的property属性中的name出错问题

    Spring配置文件中bean的property属性中的name有错,红色 原因: 在实现类中没有写set方法 解决: 理解Spring配置文件中的property标签中的属性 1.ref引用一个已经存在的对象,value创建一个新的对象 2.value可以赋一些简单类型的值,ref可以引用其他的bean对象. Spring配置文件中配置property标签的name和ref的区别 <bean id="person" class="service.Person"

  • spring配置文件解析失败报”cvc-elt.1: 找不到元素 ''beans'' 的声明”异常解决

    最近项目里面做了一个定时器,结果报错这个.网上的原因大多说是什么版本问题.我记录下我的问题所在. 由于项目启动在局域网,不能访问互联网. 打出来的jar包里面spring.schemas的文件有些奇怪. 居然是这样的. 我查看spring-beans的包发现并不是这个. spring的是这样的, 于是直接替换掉包里面的此文件. 项目正常启动. 至于为何打包之后变成ali的路径,现在还不知道原因. 总结 到此这篇关于spring配置文件解析失败报"cvc-elt.1: 找不到元素 'beans'

  • Spring中多配置文件及引用其他bean的方式

    Spring多配置文件有什么好处? 按照目的.功能去拆分配置文件,可以提高配置文件的可读性与维护性,如将配置事务管理.数据源等少改动的配置与配置bean单独分开. Spring读取配置文件的几种方式: 1.使用Spring自身提供的ApplicationContext方式读取 在Java程序中可以使用ApplicationContext两个实现类ClassPathXmlApplicationContext以及FileSystemXmlApplicationContext来读取多个配置文件,他们的

  • Spring IOC容器Bean管理的完全注解开发放弃配置文件

    目录 IOC容器基于Bean管理的完全注解开发放弃配置文件 创建配置类 测试一下 IOC容器基于Bean管理的完全注解开发放弃配置文件 通过注解的方式,我们不需要在xml配置文件里进行各种注入配置,只需要开启扫描即可. 那如果开启扫描也能通过注解方式,那不就完全不需要配置文件了么? 创建配置类 创建配置类,替代 xml 配置文件. package com.pingguo.spring5.config; import org.springframework.context.annotation.C

  • Spring通过配置文件管理Bean对象

    目录 一.Bean对象 二.存储Bean对象 1. 添加配置xml文件 2. 创建上下文 三.获取Bean对象 提示:以下是本篇文章正文内容,Java系列学习将会持续更新 一.Bean对象 Bean是Spring框架在运行时管理的对象, 是需要放置在Spring容器中进行管理的. Spring容器: BeanFactory接口(bean工厂)——> ApplicationContext接口(应用上下文)实现Spring容器的方法:基于xml文件.基于注解,我们接下来演示通过修改xml配置文件的方

  • Spring IOC中的Bean对象用法

    目录 Spring IOC中的Bean对象 一.Bean是什么 二.Bean对象的三种构造方式 三.依赖注入 四.Bean的生命周期 Ioc中Bean的作用域 bean的作用范围和生命周期 Spring IOC中的Bean对象 一.Bean是什么 突然发现提到了好多次Bean,居然忘记了讲Bean是什么.没事,现在讲也不晚.Java中的Bean是一种规范,是一种特殊的java类.所以我们先来看看Bean的规范. Bean必须生成public class类. 所有属性必须封装,Bean类的属性都为

  • 解析Java中如何获取Spring中配置的bean

    一.什么是Spring?Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架 二.如何在程序中获取Spring配置的bean呢?方法一:在初始化时保存ApplicationContext对象代码: 复制代码 代码如下: ApplicationContext ac = new FileSystemXmlApplicationContex("applicationContext.xml");    ac.getBean("beanId"); 说明:

  • Spring五大类注解读取存储Bean对象的方法

    目录 前情提要 配置spring-config文件 类注解和方法注解 @Controller(控制器存储) @Service(服务存储) @Configuration(配置存储) @Repository(仓库存储) @Component(组件存储) 5大类注解联系 Spring给Bean命名规则 方法注解@Bean 重命名Bean 获取Bean对象(对象装配) 属性注入 构造方法注入 Setter注入 三种注入方式对比 注入同一类型多个Bean对象 前情提要 我们上节内容学习了如何创建\注册\读

  • Java 如何从spring容器中获取注入的bean对象

    1.使用场景 控制层调用业务层时,控制层需要拿到业务层在spring容器中注入的对象 2.代码实现 import org.apache.struts2.ServletActionContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.ApplicationContext; import org.springframework.context.suppo

  • spring实现bean对象创建代码详解

    我以一个简单的示例解构spring是怎样管理java对象的. 首先,定义一个简单的pojo,代码如下: package com.jvk.ken.spring; public class Demo { private String name; public Demo() { name="I'm Demo."; } public void printName() { System.out.println(name); } public void setName(String name) {

  • Spring如何使用xml创建bean对象

    一.导入JAR包 二.配置applicationContext.xml的spring核心配置 三. public static void main(String[] args) { //1.使用 ApplicationContext 接口,就是在获取 spring 容器 ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml"); //2.根据 bean 的 id 获取对象 IAccountService

  • Java之Spring注解配置bean实例代码解析

    前面几篇均是使用xml配置bean,如果有上百个bean,这是不可想象的.故而,请使用注解配置bean !!! [1]注解类别 @Component : 基本注解, 标识了一个受 Spring(点击这里可以下载<Spring应用开发完全手册>) 管理的组件 @Repository : 标识持久层组件 @Service : 标识服务层(业务层)组件 @Controller : 标识表现层组件 Spring 能够从 classpath 下自动扫描, 侦测和实例化具有特定注解的组件. 对于扫描到的组

  • Spring bean对象实例化实现过程图解

    好了 我们聊聊 Bean 的实例化过程的几个重要角色 BeanDefinitionRegistryPostProcessor 接口 Refresh().invokeBeanFactoryPostProcessors 这个方法里面. BeanDefinitionRegistryPostProcessor 这个接口的调用分为三部: 1.调用实现了 PriorityOrdered 排序接口 2.调用实现了 Ordered 排序接口 3.没有实现接口的调用 这个接口我的理解:获取 BeanDefinit

  • Spring中BeanFactory解析bean详解

    在该文中来讲讲Spring框架中BeanFactory解析bean的过程,该文之前在小编原文中有发表过,先来看一个在Spring中一个基本的bean定义与使用. package bean; public class TestBean { private String beanName = "beanName"; public String getBeanName() { return beanName; } public void setBeanName(String beanName

随机推荐