java - Spring: Pass object to RestController from Application -


so busy writing spring boot app cannot seem find out out how can pass object restcontroller main application.

here application.java:

@springbootapplication @componentscan("webservices") public class application {       public static void main(string[] args) {         applicationcontext ctx = springapplication.run(application.class, args);         application app = new application(ctx);         linkedblockingqueue<rawdate> queue = new linkedblockingqueue<>();         // other stuff here     } } 

and here restcontroller:

@restcontroller public class googletokencontroller {     private linkedblockingqueue<rawdata> queue;      @crossorigin     @requestmapping(value = "/google/token", method = requestmethod.post, headers = {"content-type=application/json"})     @responsebody         public string googletoken(@requestbody authcode authcode) {         system.out.println("code: " + authcode.getauthcode());         // other stuff here         return "ok";     } } 

so want pass same instance of linkedblockingqueue<rawdata> created in application class googletokencontroller class. have no idea how since spring automatically creates googletokencontroller class.

please note new spring. thanks.

make object want pass spring bean , let spring inject controller. example:

@springbootapplication @componentscan("webservices") public class application {      @bean     public linkedblockingqueue<rawdate> queue() {         return new linkedblockingqueue<>();     }      public static void main(string[] args) {         applicationcontext ctx = springapplication.run(application.class, args);         application app = new application(ctx);         // other stuff here     } }  @restcontroller public class googletokencontroller {     @autowired // let spring inject queue     private linkedblockingqueue<rawdata> queue;      @crossorigin     @requestmapping(value = "/google/token", method = requestmethod.post, headers = {"content-type=application/json"})     @responsebody         public string googletoken(@requestbody authcode authcode) {         system.out.println("code: " + authcode.getauthcode());         // other stuff here         return "ok";     } } 

in other places need access queue, let spring inject it.


Comments

Popular posts from this blog

sequelize.js - Sequelize group by with association includes id -

android - Robolectric "INTERNET permission is required" -

java - Android raising EPERM (Operation not permitted) when attempting to send UDP packet after network connection -