如何解决普通方法调用静态属性的Sonar问题

技术如何解决普通方法调用静态属性的Sonar问题如何解决普通方法调用静态属性Sonar问题,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。问题

如何解决普通方法调用静态属性Sonar的问题,很多新手都不清楚。为了帮助大家解决这个问题,下面小编就为大家详细讲解一下。需要的人可以从中学习,希望你能有所收获。

00-1010这是我们经常用来实现Spring的Bean工厂,编写一个工具类并打开一个静态方法:get实体类。

public class bean helperimplements bean factoryaware {

privatestaticBeanFactoryfactory

/**

*获取实体类。

*

*@paramid

* @返回

*/

publicatstatitgetbean(Stringid){ 0

return(T)factory . getbean(id);

}

/**

*成立豆厂。

*

*@parambeanFactory

*/

@覆盖

public voitSetBeanFactory(BeanFactoryBeanFactory){ 0

bean helper . factory=bean factory;

}

}声纳扫描报告:

实例方法不应写入“静态”字段正确地从非静态方法更新静态字段是一件棘手的事情,如果有多个类实例和/或多个线程在运行,很容易导致错误。理想情况下,静态字段只能从同步的静态方法中更新。每当从非静态方法更新静态字段时,此规则都会引发问题。

翻译:

从非静态方法中正确更新静态字段是很棘手的。如果有多个类实例和/或多个线程在运行,很容易导致错误。理想情况下,静态字段只能从同步静态方法中更新。每次从非静态方法更新静态字段时,此规则都会引发问题。

问题:普通方法调用静态属性时,Sonar会认为有问题

public classbeahnhelperimplements beanforceyaware {

privatestaticBeanFactoryfactory

/**

*获取实体类。

*

*@paramid

* @返回

*/

publicatstatitgetbean(Stringid){ 0

return(T)factory . getbean(id);

}

privatedstativationsetfactory(BeanFactoryFactory){ 0

BeanHelper.factory=factory

}

/**

*成立豆厂。

*

*@parambeanFactory

*/

@覆盖

public voitSetBeanFactory(BeanFactoryBeanFactory){ 0

setFactory(BeanFactory);

}

}

打包一个静态setFactory方法,声纳扫描不会造成问题。因为它是一个静态方法,所以将首先初始化它。此外,在setFactory方法中,可以判断BeanHelper.factory是否为空,如果不为空,则不会进行赋值,从而确保它不会被多个实例或多线程覆盖,因此这里不再详细描述。

阅读以上内容对你有帮助吗?如果您想了解更多相关知识或阅读更多相关文章,请关注行业资讯频道,感谢您的支持。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/38060.html

(0)

相关推荐

  • 鲜为人知的读音,\”鲜为人知\”的意思是什么

    技术鲜为人知的读音,\鲜为人知\的意思是什么鲜为人知的意思是很少有人知道。 鲜为人知,读作鲜为人知的读音:xiǎn wéi rén zhī 相关词汇: 1、近义词:无人问津 不为人知 默默无闻 平淡无味
    2、反义词:路

    生活 2021年10月19日
  • 解决texlive化学式转换镜像经常偶发性进程堆积导致卡顿问题

    技术解决texlive化学式转换镜像经常偶发性进程堆积导致卡顿问题 解决texlive化学式转换镜像经常偶发性进程堆积导致卡顿问题前言
    之前在 使用Python定时清理运行超时的pdflatex僵尸进程

    礼包 2021年12月2日
  • PostgreSQL的相似搜索插件有哪些

    技术PostgreSQL的相似搜索插件有哪些这篇文章主要介绍“PostgreSQL的相似搜索插件有哪些”,在日常操作中,相信很多人在PostgreSQL的相似搜索插件有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好

    攻略 2021年11月10日
  • 火花塞清洗,汽车火花塞多久清理一次

    技术火花塞清洗,汽车火花塞多久清理一次质信车服——保障品质火花塞清洗,坚守诚信。本文观点:火花塞不需要清洗,只需要更换。首先,火花塞属于常用保养件,是有使用寿命的,到了时限就要更换,平时只要车辆感觉没什么异常,比如油耗增

    生活 2021年10月23日
  • 网络协议tcp和udp(tcp和udp协议通过什么区分)

    技术网络协议TCP和UDP怎么理解这篇文章主要讲解了“网络协议TCP和UDP怎么理解”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“网络协议TCP和UDP怎么理解”吧!国际

    攻略 2021年12月21日
  • antdesignpro使用方法(antdesignpro安装出错)

    技术怎么安装Ant Design Pro这篇文章主要为大家展示了“怎么安装Ant Design Pro”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么安装Ant Desig

    攻略 2021年12月20日