草庐IT

Bean-IOC

全部标签

java - 如何@Autowire 从外部 jar 创建的 spring bean?

我创建了一个模块/jar,并将其用作实用工具库。我在那里创建了一个服务,如下所示:@ServicepublicclassPermissionsService{...}...它驻留在此处的包中:com.inin.architect.permissions在我的主应用程序中,我正在引用/加载这个jar(即设置为mavenPOM.xml文件)像这样:com.inin.architectpermissions1.0-SNAPSHOT在应用程序中,我想使用该服务,例如:@AutowiredPermissionsServicepermissions在应用程序的spring设置中,我有这个:@Con

java - Autowiring 同一类的两个不同的bean

我有一个封装了一个连接池的类,该类从一个spring配置中获取它的连接细节,如下所示:此bean稍后在服务中使用,并使用@Autowire注释Autowiring。我的问题是,我怎样才能复制这个bean并给它不同的连接细节,然后在服务中@Autowire它。意思除了上面我还有:在服务中:@Autowired//beanofidjedisConnectorJedisConnectorbeanA;@Autowired//beanofidjedisConnectorPODJedisConnectorbeanB; 最佳答案 您可以将@Aut

java - Autowiring 同一类的两个不同的bean

我有一个封装了一个连接池的类,该类从一个spring配置中获取它的连接细节,如下所示:此bean稍后在服务中使用,并使用@Autowire注释Autowiring。我的问题是,我怎样才能复制这个bean并给它不同的连接细节,然后在服务中@Autowire它。意思除了上面我还有:在服务中:@Autowired//beanofidjedisConnectorJedisConnectorbeanA;@Autowired//beanofidjedisConnectorPODJedisConnectorbeanB; 最佳答案 您可以将@Aut

spring - 无法创建配置,因为找不到 Bean 验证提供程序。将像 Hibernate Validator (RI) 这样的提供程序添加到您的类路径中

今天,我正在研究发送电子邮件,但是当我添加时org.springframeworkspring-context-support4.2.5.RELEASEjavaxjavaee-api7.0javax.mailjavax.mail-api1.5.5到pom.xml并在服务器上部署时,我收到“无法创建配置,因为找不到BeanValidation提供程序。将HibernateValidator(RI)之类的提供程序添加到您的类路径。”验证异常。我刚刚将上面的依赖项和用于电子邮件的依赖项添加到模板MVC项目中。错误堆栈跟踪:DEBUG:org.springframework.ui.contex

spring - 无法创建配置,因为找不到 Bean 验证提供程序。将像 Hibernate Validator (RI) 这样的提供程序添加到您的类路径中

今天,我正在研究发送电子邮件,但是当我添加时org.springframeworkspring-context-support4.2.5.RELEASEjavaxjavaee-api7.0javax.mailjavax.mail-api1.5.5到pom.xml并在服务器上部署时,我收到“无法创建配置,因为找不到BeanValidation提供程序。将HibernateValidator(RI)之类的提供程序添加到您的类路径。”验证异常。我刚刚将上面的依赖项和用于电子邮件的依赖项添加到模板MVC项目中。错误堆栈跟踪:DEBUG:org.springframework.ui.contex

java - 使用具有泛型参数的类定义 spring bean

如果我有一个看起来像这样的类:publicclassMyClass>{publicvoidsetFoo(T[]foos){....}}我将如何在我的上下文xml中将其声明为bean,以便我可以设置Foo数组,假设我知道T将是什么(在我的示例中,假设T是一个值为ONE和两个)?目前,只有这样的东西还不足以告诉springT是什么类型:ONETWO编辑:忘记列表标签。 最佳答案 Spring没有对这种情况的通用支持,但编译器只是在这种情况下创建了一个类转换。所以正确的解决方案是:ONETWO

java - 使用具有泛型参数的类定义 spring bean

如果我有一个看起来像这样的类:publicclassMyClass>{publicvoidsetFoo(T[]foos){....}}我将如何在我的上下文xml中将其声明为bean,以便我可以设置Foo数组,假设我知道T将是什么(在我的示例中,假设T是一个值为ONE和两个)?目前,只有这样的东西还不足以告诉springT是什么类型:ONETWO编辑:忘记列表标签。 最佳答案 Spring没有对这种情况的通用支持,但编译器只是在这种情况下创建了一个类转换。所以正确的解决方案是:ONETWO

java - 如何让 FactoryBean spring 创建的 bean 得到管理?

FactoryBean可用于以编程方式创建可能需要复杂实例化逻辑的对象。但是,FactoryBean创建的bean似乎没有成为spring管理的。这种解释正确吗?如果是这样,有什么好的解决方法吗?包含一个简短的代码示例来说明我的问题。应用程序上下文:工厂实现:publicclassSearcherFactoryimplementsFactoryBean{@OverridepublicSearchergetObject()throwsException{returnnewSearcher();//notsocomplexafterall;)}@OverridepublicClassget

java - 如何让 FactoryBean spring 创建的 bean 得到管理?

FactoryBean可用于以编程方式创建可能需要复杂实例化逻辑的对象。但是,FactoryBean创建的bean似乎没有成为spring管理的。这种解释正确吗?如果是这样,有什么好的解决方法吗?包含一个简短的代码示例来说明我的问题。应用程序上下文:工厂实现:publicclassSearcherFactoryimplementsFactoryBean{@OverridepublicSearchergetObject()throwsException{returnnewSearcher();//notsocomplexafterall;)}@OverridepublicClassget

使用 Junit 的 Spring 测试 session 范围 bean

我有一个session范围的bean,它保存每个httpsession的用户数据。我想编写一个Junit测试用例来测试session范围的bean。我想编写测试用例,以便它可以证明每个session都创建了bean。任何关于如何编写此类Junit测试用例的指针? 最佳答案 为了在单元测试中使用请求和session范围,您需要:在应用程序上下文中注册这些范围创建模拟session并请求通过RequestContextHolder注册模拟请求类似这样的东西(假设你使用SpringTestContext来运行你的测试):abstractS