How to use spring dependency injection in our web service -
How to use spring dependency injection in our web service -
we have web service trying reimplement using spring di.
here how works: on each request web service receives in controller, based off page name, instantiate handler list of tasks can handle request.
interface handler { list<task> gettasklist(); } class controller { //inject handler handler handler; processrequest(){ handler.gettasklist() -> execute } } we have 5-6 such handler , want corresponding handler injected controller based on request pagename.
whats best way go this? how inject different handler on fly?
thanks
1- create handlers in configuration (or annotate service implementations):
@bean public handler handler1() { // homecoming handler 1 } @bean public handler handler2() { // homecoming handler 2 } 2a- inject applicationcontext controller. retrieve required service based on request mapping.
class controller { @autowired private applicationcontext context; @requestmapping(value = "/handler1") processrequest(){ handler handler = context.getbean("handler1"); handler.gettasklist() -> execute } @requestmapping(value = "/handler2") processrequest(){ handler handler = context.getbean("handler2"); handler.gettasklist() -> execute } } 2b- alternatively, create multiple controllers, , inject appropriate handler.
@requestmapping("/handler1") class controller1 { @autowired @qualifier("handler1") private handler handler; processrequest(){ handler.gettasklist() -> execute } } @requestmapping("/handler2") class controller2 { @autowired @qualifier("handler2") private handler handler; processrequest(){ handler.gettasklist() -> execute } } spring dependency-injection
Comments
Post a Comment