草庐IT

Bean-IOC

全部标签

Spring session 范围的bean作为原型(prototype)bean中的依赖项?

我多次阅读有关此主题的spring文档,但有些事情我仍然不清楚。文档状态:Ifyouwanttoinject(forexample)anHTTPrequestscopedbeanintoanotherbean,youmustinjectanAOPproxyinplaceofthescopedbean.Thatis,youneedtoinjectaproxyobjectthatexposesthesamepublicinterfaceasthescopedobjectbutthatcanalsoretrievethereal,targetobjectfromtherelevantscop

java - 如何在 Spring 中动态设置 bean 引用?

在上述场景中,beanMyBean中的config属性会随着环境的变化而变化。在开发时,配置引用更改为dev。并且在暂存时,引用更改为stag。问题出现在检查spring文件时。每次checkin前我们都要分析config的引用。如果checkin的config引用的值为dev,我们可能要解释很多问题。有什么解决方案可以让它自动化吗?注:Spring版本为2.0.1 最佳答案 使用Spring中的PropertyPlaceholderConfigurer,并删除未使用的bean:env.properties并且env.propert

java - 我可以使用 Spring Javaconfig 创建一个原型(prototype)范围的 bean 吗?

SpringJavaconfig的旧文档说我可以使用@Bean(scope=DefaultScopes.PROTOTYPE)得到一个原型(prototype)bean,但是Spring3.0.5的@Bean似乎没有这个属性。有没有办法控制Javaconfig中bean的作用域? 最佳答案 Use@Scopeinstead.另外,DefaultScopes在Spring核心中不可用,但您可以使用BeanDefinition.SCOPE_PROTOTYPE和BeanDefinition.SCOPE_SINGLETON为了方便。

spring - 通过 Annotation 填充 Spring Bean 的 File 字段

有没有可能做这样的事情:通过注释而不创建自定义注释并通过反射填充字段?它不能用@Value完成,因为它只适用于字符串......如果不是,那么处理Springbean自定义注释并相应地初始化bean的最佳方法是什么? 最佳答案 使用资源作为字段。@Value("file:/some/resource/path/myTemplate.txt")Resourcetemplate;您也可以通过这种方式使用classpath:样式的URI。那么如果你需要获取一个File,使用template.getFile()

java - Spring有序的bean列表

我有几个实现相同接口(interface)的bean。每个bean都用注释@Component@Order(SORT_ORDER).publicclassMyClassimplementsBeanInterface{...}在某一时刻,我Autowiring了一个组件列表,并且我希望得到一个排序的bean列表。bean列表没有按照我在注释中设置的顺序进行排序。我尝试实现接口(interface)Ordered并且发生了相同的行为。@ComponentpublicclassFactory{@AutowiredprivateListlist;//我做错了什么吗?

java - 创建名称为 'org.springframework.security.filterChains' Spring + Hibernate + UserDetailSservice 的 bean 时出错

刚开始学习SpringSecurity,遇到了一些麻烦。我想使用注册期间存储在数据库中的密码和用户名在页面上配置用户登录。我使用hibernate。我的错误堆栈:INFO:org.springframework.web.context.ContextLoader-RootWebApplicationContext:initializationstartedINFO:org.springframework.web.context.support.XmlWebApplicationContext-RefreshingRootWebApplicationContext:startupdate

java - Spring Boot bean 以 @ConfigurationProperties 值为条件

SpringBoot使用@ConfigurationProperties注释为我们提供了类型化的配置对象。优点之一是在使用SpringBoot注释处理器时可以免费在IDE中完成属性名称。另一个是:验证。现在,我想让bean以属性的值为条件。实际上,我有两个接口(interface)实现,这个属性告诉我应该使用哪一个。我可以这样实现它:ImplementationA.java@Component@ConditionalOnProperty(name="foo.bar",havingValue="a")publicclassImplementationAimplementsSomeInte

java - 在 Spring EL 中引用当前 bean 的属性

我想从一个类创建多个bean,所有这些都将在当前应用程序上下文中实例化,每个都基于属性文件中的前缀属性。我已经举了一个我正在努力实现的例子。任何关于如何在没有过多代码的情况下执行此操作的提示(例如,没有多个类、复杂的工厂等)将不胜感激。XML配置:属性文件:bean1.name=alfredbean2.name=bobbybean3.name=charlie类:classMybean{@Value("${#{prefix}.name}")Stringname;}主类:publicclassMain{@AutowiredListmybeans;} 最佳答案

java - 由于缺少 EmbeddedServletContainerFactory bean,无法启动 EmbeddedWebApplicationContext

Maven构建成功,但是当我尝试运行它时失败:Error:Couldnotfindorloadmainclassapp.jar我在resources/META-INF/MANIFEST.MF中有Manifest-Version:1.0Main-Class:go.Application一切似乎都已到位。怎么了?pom.xmlorg.apache.maven.pluginsmaven-jar-plugin2.5src/main/resources/META-INF/MANIFEST.MF更新1使用IntelliJ构建jarArtifact时也是如此。更新2好的,我设法运行它,但现在我有:U

Spring bean 未注入(inject)基于 flyway java 的迁移

我正在尝试在flyway迁移java代码中注入(inject)配置属性的组件,但它始终为空。我正在使用带有Flyway的SpringBoot。@Component@ConfigurationProperties(prefix="code")publicclassCodesProp{privateStringcodePath;}然后在Flyway迁移代码中,尝试自动编写此组件,如下所示:publicclassV1_4__Migrate_codes_metadataimplementsSpringJdbcMigration{@AutowiredprivateCodesPropcodesPr