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

蜗牛 互联网技术资讯 2022-07-27 27 0

本篇内容主要讲解“Spring怎么通过配置文件管理Bean对象”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Spring怎么通过配置文件管理Bean对象”吧!

一、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对象”有了更深的了解,不妨来实际操作一番吧!这里是蜗牛博客网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

评论