草庐IT

JELLY_BEAN

全部标签

java - 默认bean作用域为单例,并发调用时不是很糟糕吗?

我已经声明了一个Springbean,它每隔几秒钟就会轮询我的电子邮件服务器。如果有邮件,它会获取它,并尝试提取其中的所有附件。然后将这些文件提交给安全存储它们的uploader。uploader也被声明为一个Springbean。第三个bean将电子邮件的发件人与文件的文件名相关联,并将其存储在数据库中。原来,当几个人试图同时发送电子邮件时,发生了一堆乱七八糟的事情。数据库中的记录文件名错误。有些根本没有得到文件名等。我将这个问题归因于bean的默认作用域为单例。这意味着一堆线程可能同时搞乱了一个和同一个实例。问题是如何解决这个问题。如果我同步所有的敏感方法,那么所有线程都会堆积起来

Spring框架Bean对象的五个作用域

​ 一、前言:Bean对象简介在Spring项目中,那些由Spring IoC容器所管理的对象,称为bean。简单地讲,bean就是由Spring容器初始化、装配及管理的对象,除此之外,bean就与应用程序中的其他对象没有什么区别了。 而bean定义以及bean相互间的依赖关系将通过配置元数据来描述。上一段描述简析:spring的bean对象和普通java对象的区别就是spring的bean对象由spring创建,spring容器管理,spring实现装配(注入)。普通java对象是指没有使用spring框架时,创建,管理,装配(注入)是由开发人员自己完成的。二、Bean对象的5个作用域:  

java - 我不能使用注释来指示一个 bean 是一个主 bean

我们知道在Spring中,有一个属性“primary”来指示如果有多个bean可Autowiring到一个属性,则一个bean是第一个候选者。但是现在我所有的bean定义都是使用@Component/@Service等声明的,我找不到可用于声明bean的相应“主要”属性。请指教我怎样才能做到这一点,谢谢。 最佳答案 在Spring3.0中,您使用@Primary.Indicatesthatabeanshouldbegivenpreferencewhenmultiplecandidatesarequalifiedtoautowirea

java - Spring 按类型列出 bean

在Spring中有没有一种方法可以自动填充一个列表,其中包含一个类型的所有bean及其任何子类型?我有一个setter方法,如下所示:setMyProp(Listlist)我想在MyType的任何bean和MyType的所有子类中Autowiring。谢谢,杰夫 最佳答案 是的,你可以做到这一点。spring文档说:ItisalsopossibletoprovideallbeansofaparticulartypefromtheApplicationContextbyaddingtheannotationtoafieldormeth

java - 在 Spring Bean 中使用 session 作用域

我将JSF2用于View,将Spring用于业务逻辑。我正在尝试使用注释(@Scope("session"))将session范围设置为我的一个springbean,但我遇到了这个异常:SEVERE:Contextinitializationfailedorg.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'handleFiles':Injectionofautowireddependenciesfailed;nestedexceptionisorg.springframewor

已解决org.springframework.beans.factory.support.BeanDefinitionValidationException Bean验证异常的正确解决方法,亲测有效!

已解决org.springframework.beans.factory.support.BeanDefinitionValidationExceptionBean定义验证异常的正确解决方法,亲测有效!!!目录问题分析出现问题的场景报错原因解决思路解决方法总结在Spring框架的应用开发过程中,BeanDefinitionValidationException是一个可能遇到的异常,它通常表明Spring上下文中存在某些不合法或错误配置的bean定义。这种异常的出现往往会导致应用启动失败。本文将详细介绍该异常的成因、分析原因,并提供一套可行的解决方案。问题分析BeanDefinitionVali

java - 在 EL 中的匿名内部类 bean 上调用带有参数的方法

如果我有一个这样的匿名内部类对象(其中Foo是一个接口(interface)):Foofoo=newFoo(){@OverridepublicStringhello(ObjectdummyArg){return"hello,world.";}};然后我尝试从这样的jsp调用Foo.hello:${foo.hello('blah')}它抛出:javax.el.MethodNotFoundException:Unabletofindmethod[hello]with[1]parameters但是如果没有参数:Barbar=newbar(){@OverridepublicStringhell

java - spring 单例作用域——每个容器每个 bean

我问这个问题是针对我的问题:springsingletonscopeSpring单例在引用手册中被定义为percontainerperbean。percontainer表示如果我们喜欢:ApplicationContextcontext=newClassPathXmlApplicationContext("Beans.xml")MyBeanmyobj=(MyBean)context.getBean("myBean");//myBeanisofsingletonscope.MyBeanmyobj1=(MyBean)context.getBean("myBean");Beans.xml:然

java - junit 测试中的 spring-data-jpa bean 验证

在我最近的工作中,我使用spring-data-jpa来利用提供的存储库。当涉及到集成测试时,我无法配置(我假设)用于测试的spring上下文,因此bean验证在我的测试中不起作用。我知道我可以注入(inject)validator,并对我的注释进行单元测试,但事实并非如此。我正在编写集成测试,并希望测试有数据库支持的存储库。我准备了一个简单的项目来展示所有必要的项目文件。当我运行测试时,有2个失败了,我不知道为什么,hibernatevalidator出现在类路径上。Failedtests:insertWrongEmail(com.example.core.data.jpa.User

java - 使用 spring bean 的 JUnit 规则

我有一个加载测试spring应用程序上下文的测试类,现在我想创建一个junit规则,它将在mongodb中设置一些测试数据。为此,我创建了一个规则类。publicclassMongoRuleextendsExternalResource{privateMongoOperationsmongoOperations;privatefinalStringcollectionName;privatefinalStringfile;publicMongoRule(MongoOperationsmongoOperations,Stringfile,StringcollectionName){thi