返回顶部
首页 > 资讯 > 后端开发 > Python >在spring中实例化bean无效的问题
  • 509
分享到

在spring中实例化bean无效的问题

2024-04-02 19:04:59 509人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录spring中实例化bean无效Action中代码如下applicationContext.xml中配置如下spring实例化bean顺序问题,导致注入失败问题如下原因解决spr

spring中实例化bean无效

在做Struts2和Spring整合时遇到Spring实例化无效的情况,

Action中代码如下

public class UserAction extends ActionSupport {
    @Resource
    private UserService userService;
    public String execute(){
        //userService.saveUser(new Object());
        System.out.println(userService);
        System.out.println("struts2spring整合成功");
        return "success";
    }
}

applicationContext.xml中配置如下

<?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:context="http://www.springframework.org/schema/context"
        xmlns:tx="http://www.springframework.org/schema/tx"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
                http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
                http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
    <!-- 自动扫描与装配bean -->
    <context:component-scan base-package="com.bjwl"></context:component-scan>
</beans>

通过注解实例化UserService时一直得到的是null。最后经过查找,发现没有导入Struts2-Spring-plugin.jar的原因。 

spring实例化bean顺序问题,导致注入失败

我们可以通过Spring进行非常方便的管理bean,只需要在类上面加一个注解就可以进行bean的注入,也就是所谓的DI。今天碰到了个小问题,来总结一下。

问题如下

public abstract class TestBean {
    public String str;
    
    public TestBean(){
        this.str = initStr();
    }
    
    protected abstract String initStr();
}
public class TestSon extends TestBean {
    @Resource
    public String str;
    @Override
    protected String initStr() {
        return this.str;
    }
}

但是发现这个str始终是null。

原因

在实例化TestBean的时候不能确认str已经实例化,所以是先建立对象,再进行注入str的值。那么创建对象的时候,根据构造方法创建的对象中,还没有注入str的值,所以只能为null。

解决

我们需要确认在str已经注入进来的情况下再对父类中的str赋值,那么这个时候需要子类实现 InitializingBean 这个接口,实现其中的afterPropertiesSet()

public class TestSon extends TestBean implements InitializingBean
{
    @Resource
    public String str;
    @Override
    protected String initStr() {
        return this.str;
    }
    @Override
    public void afterPropertiesSet() throws Exception {
        super.str = this.str;
    }
}

问题成功解决。注入成功

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: 在spring中实例化bean无效的问题

本文链接: https://lsjlt.com/news/140488.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 在spring中实例化bean无效的问题
    目录spring中实例化bean无效Action中代码如下applicationContext.xml中配置如下spring实例化bean顺序问题,导致注入失败问题如下原因解决spr...
    99+
    2024-04-02
  • spring中实例化bean无效怎么解决
    这篇文章主要讲解了“spring中实例化bean无效怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“spring中实例化bean无效怎么解决”吧!spring中实例化bean无效在做S...
    99+
    2023-06-29
  • 解决Spring在Thread中注入Bean无效的问题
    目录在Thread中注入Bean无效错误的注入方法通过封装Thread子类注入通过外部引入Spring多线程中bean的注入问题网上的主要解决方法有在Thread中注入Bean无效 ...
    99+
    2024-04-02
  • Spring Bean中Bean的实例化分析
    这篇文章主要介绍了Spring Bean中Bean的实例化分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Spring Bean中Bean的实例化分析文章都会有所收获,下面我们一起来看看吧...
    99+
    2023-06-29
  • Spring中bean实例化怎么实现
    本文小编为大家详细介绍“Spring中bean实例化怎么实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“Spring中bean实例化怎么实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。bean实例化bean...
    99+
    2023-07-05
  • Spring中实例化bean的方式有哪些
    这篇文章主要为大家展示了“Spring中实例化bean的方式有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Spring中实例化bean的方式有哪些”这篇文章吧。前言在介绍Bean的实例化的...
    99+
    2023-05-30
  • Spring源码解析Bean的实例化
    目录前言准备工作实例化bean1、AbstractBeanFactory 的 doGetBean方法2、AbstractAutowireCapableBeanFactory 的 cr...
    99+
    2024-04-02
  • spring中bean实例化的三种方式 -- Spring入门(二)
    文章目录 前言1.Bean实例化简介2.bean的实例化 -- 构造方法3.bean的实例化 -- 静态工厂实例化4.bean实例化 -- 实例工厂和FactoryBean5.三种bean实例化方式的区别 总结 前言 为了...
    99+
    2023-08-19
    spring java 后端
  • Spring中Bean的三种实例化方式详解
    目录一、环境准备二、构造方法实例化三、分析Spring的错误信息四、静态工厂实例化4.1 工厂方式创建bean4.2 静态工厂实例化五、实例工厂与FactoryBean5.1 环境准...
    99+
    2024-04-02
  • 详解Spring中bean实例化的三种方式
    今天我想来说说如何通过xml配置来实例化bean,其实也很简单。 使用xml配置来实例化bean共分为三种方式,分别是普通构造方法创建、静态工厂创建、实例工厂创建,OK,那么接下来我们来分别看看这几种方式。普通构造方法创建这种创建方式使我们...
    99+
    2023-05-31
    实例化 spring bean
  • 【Spring(四)】万字详解bean的实例化
    文章目录 前言1.bean实例化1.1 bean的基础配置1.2 bean的实例化-构造方法1.3 bean的实例化-静态工厂1.4 bean的实例化-实例工厂与FactoryBean 总结 前言   在上篇文章,我们已...
    99+
    2023-08-20
    spring java 后端
  • Spring实例化bean的方式有哪些
    这篇文章主要介绍了Spring实例化bean的方式有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Spring实例化bean的方式有哪些文章都会有所收获,下面我们一起来看看吧。一、bean实例化&m...
    99+
    2023-07-02
  • 关于spring中单例Bean引用原型Bean产生的问题及解决
    目录spring单例Bean引用原型Bean产生的问题及解决问题描述为了更直观的发现问题,下面我们用代码演示一遍问题分析spring Bean的几个相关问题1.Spring Bean...
    99+
    2024-04-02
  • Spring Bean的配置与实例化怎么实现
    这篇文章主要介绍“Spring Bean的配置与实例化怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Spring Bean的配置与实例化怎么实现”文章能帮助大家解决问题。...
    99+
    2023-07-02
  • Spring Bean实例过程中使用反射和递归处理的Bean属性填充问题
    这篇文章将为大家详细讲解有关Spring Bean实例过程中使用反射和递归处理的Bean属性填充问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、前言超卖、掉单、幂等,你的程序总是不抗揍!想想,运营已...
    99+
    2023-06-15
  • Spring实例化bean的四种方式详解
    目录一、bean实例化——构造方法(常用)二、bean实例化——静态工厂(了解)三、bean实例化——实例工厂...
    99+
    2024-04-02
  • 详解Spring Bean的配置方式与实例化
    目录一、 Spring Bean 配置方式配置文件开发注解开发二、Spring Bean实例化环境准备构造方法实例化Bean静态工厂实例化Bean实例工厂实例化BeanFactory...
    99+
    2024-04-02
  • Spring | IOC技术之Bean的配置与实例化
    👑 博主简介:    🥇 Java领域新星创作者    🥇 阿里云开发者社区专家博主、星级博主、技术博主 🤝 交流社区:BoBoo...
    99+
    2023-10-05
    spring java
  • 关于Spring Bean实例过程中使用反射和递归处理的Bean属性填充问题
    目录一、前言二、目标三、设计四、实现五、测试六、总结一、前言 超卖、掉单、幂等,你的程序总是不抗揍! 想想,运营已经对外宣传了七八天的活动,满心欢喜的等着最后一天页面上线对外了,突然...
    99+
    2024-04-02
  • Springboot @WebFilter无法注入其他Bean的示例问题
    示例问题代码: @WebFilter(filterName = "authorizeFilter", urlPatterns = {"*.htm", "*.html"}, asy...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作