java - Injecting object into Spring Configuration -
i turning old xml/java configuration pure java config. in xml used injection of parameters configuration file this:
<bean class="com.project.springrestconfiguration"> <property name="parameters" ref="parameters" /> </bean> @configuration public class springrestconfiguration { private parameters parameters; public void setparameters(parameters parameters) { this.parameters = parameters; } // @bean definitions ... }
is possible inject parameters in javaconfig? (without need of using autowiring!)
@configuration @import(springrestconfiguration.class)
edit: @import can't see chance inject parameters springrestconfiguration
basically need use @autowired
can still use name , not type interpretation this:
@configuration public class springrestconfiguration { @autowired @qualifier("parameters") // somewhere in context should have bean named 'parameters'. doesn't matter if defined xml, configuration class or auto scanning. long such bean right type , name exists, should good. private parameters parameters; // @bean definitions ... }
this solves confusion problem mentioned when using @autowired
- there's no question here bean injected, bean named parameters
.
you can little test, leave parameters
bean defined in xml before, use @autowired
, see works. migrate parameters
@configuration
class.
in answer here can find complete explanation of how should migrate xml @configuration
step step.
you can skip private member altogether , this:
@configuration public class springrestconfiguration { @bean public beanthatneedsparamters beanthatneedsparamters (@qualifier("parameters") parameters parameters) { return new beanthatneedsparamters(parameters) } }
Comments
Post a Comment