草庐IT

Autowired注入

全部标签

java - 如何使用 CDI 从外部库注入(inject) bean?

如何使用JSR-299CDI从外部库注入(inject)(未注释)bean?例子:接口(interface)X及其实现来自第三方库。我如何决定使用哪个实现?classA{@InjectprivateXx;}如果我有几个使用X接口(interface)但实现不同的类怎么办?classA{@InjectprivateXx;//shouldbeXDefaultImpl}classB{@InjectprivateXx;//shouldbeXSpecialImpl} 最佳答案 使用生产者:publicclassClassInABeanArch

java - 准备好的语句是否在这里防止 SQL 注入(inject)

以下代码来自SAMATEReferenceDataset.我用它来测试静态分析工具。如您所见,代码应该通过使用清理方法和准备好的语句来防止SQL注入(inject)。由于SCA工具无法识别自定义的santitzation方法,因此不会检测到allowed方法用于防止注入(inject)。publicclassSQLInjection_good_089extendsHttpServlet{privatestaticfinallongserialVersionUID=1L;publicSQLInjection_good_089(){super();}//Tableofallowedname

c# - 依赖注入(inject)导致工厂激增?

自从我一直在使用依赖注入(inject)原则以来,在处理需要实例化大量对象的类时,我总是感到不舒服。例如,假设我有一个类应该引发许多不同类型的事件。每个事件都有不同的类型,所以我要做的是为每个不同的事件类型设置不同的工厂。如果我有10个事件,那么我就必须有10个工厂。那似乎不太好。我也可以为所有不同类型的事件建立一个工厂,但这似乎也不太对。(对于C#人群,我在这里不是在谈论.NET的事件。这只是一个切入点的示例,只需将它们视为常规类即可!)这只是一个例子。我在这里或那里有一个工厂没有问题,但在某些类型的项目中,人们必须在运行时创建很多对象,似乎我必须为我定义的几乎每个类创建一个工厂!您

java - 使用 CDI 注入(inject)命名字符串

我想以这种方式注入(inject)一个配置参数:publicclassMyManagedBean{@InjectpublicMyManagedBean(@Named("user")Stringuser){....}}所以我尝试以这种方式实现生产者方法:@ApplicationScopedpublicclassMyConfiguration{privatePropertiesloadProperties(){Propertiesproperties=newProperties();try{properties.load(getClass().getResourceAsStream("us

java - 使用 Spring 注入(inject) TaskScheduler

是否可以注入(inject)Spring创建的TaskScheduler实例?我想以编程方式安排任务,为此,我想我需要访问TaskScheduler但出于某种原因,Spring找不到Autowiring。@Configuration@EnableSchedulingpublicclassMySpringConfig{}@ComponentpublicclassMyClassimplementsInitializingBean{@AutowiredprivateTaskSchedulertaskScheduler;@OverridepublicvoidafterPropertiesSet

java - 再次在任何@PostConstruct 之前注入(inject)所有@Resource

JSR-250表示所有带@Resource注释的方法都将在@PostConstruct方法之前被调用。我的问题是:这是否意味着上下文中所有bean上的所有@Resource注释方法都将在调用任何@PostConstruct注释方法之前被调用?或者换句话说,即使上下文中的其他bean仍未注入(inject)依赖项,也可以在注入(inject)依赖项后调用beans@PostConstruct方法吗?问候,蒂姆。 最佳答案 保证当给定bean的@PostConstruct被调用时,它的所有@Resource字段都将被注入(inject)

java - 是否可以将使用 @Component 定义的 bean 作为 BeanFactoryPostProcessor 的参数注入(inject)?

如果需要,需要哪种配置?这是不推荐的吗?带注释的类:packagecom.springbug.beanfactorydependencyissue;importjavax.annotation.Resource;importorg.springframework.stereotype.Component;@ComponentpublicclassDependantBean{@ResourceDependencyBeandependencyBean;//Isn'tinitializedcorrectlypublicDependencyBeangetDependencyBean(){ret

java - 使用@Autowired 调用构造函数如何工作?

我正在学习SpringBoot框架,我想了解@Autowired注释的工作原理。我知道在SpringBoot中我们有一个上下文,在那个上下文中有一些bean,它们可以通过@Autowired注释相互连接,这是因为在SpringBoot中我们有依赖注入(inject),但是如何构造函数被调用了吗?我有这样的服务:@ServicepublicclassMyService{publicMyService(){//dosomething}}在我的类里面:publicclassMyClass{@AutowiredMyServiceservice;}问题是:MyService的构造函数是否被调用并

java - 是否可以动态地将父级注入(inject) Java 中的类层次结构?

给定一个类层次结构:A->B->C->instanceOfC是否有可能(以及如何)在运行时临时插入一个类,如下所示:A->B->B'->C->instanceOfC? 最佳答案 看点如果你使用AspectJ,这是可能的。AspectJ有一个declareparents语句,使您能够做到这一点,并且通过LoadTimeWeaving,您也应该能够在运行时做到这一点。但是,您将无法在已经加载的类上执行此操作(至少不容易,如果您先卸载该类,它可能会起作用)。引用:AspectJQuickReferenceAspectJinAction(书

java - 你如何使用 spring 的注入(inject)来对 Controller 进行单元测试?

我想测试我的springmvcController。Controller有一个服务:@AutowiredUserServiceuserService我的用户服务依赖于(自动连接)我的UserDao和一些其他服务,如mongoDb等。现在我想在我的UserService中测试业务逻辑,但当然我想模拟来self的UserDao和Mongodb等的响应。如何正确设置我的单元测试?我可以重新使用包含我的所有bean等的spring容器的xml文件,还是创建一个新文件?(我假设我必须在这里涉及到spring容器)寻找这方面的一些指导,任何教程将不胜感激。更新我觉得奇怪的是,对于我的springC