java - Spring dependency injection with constructor arguments -


i have spring boot, hibernate application , android application client side. using java.net.socket api socket connection. before creating server socket new server(12346); , enough. need access database socket class e.g. @autowired usersdao field, of course null because socket class not visible spring framework. how make dependency injection on socket class using port constructor argument , make userdao non-null?

you can access spring application context static method , use static method load repository bean in server class instead of autowiring it.

you need create following classes (found here):

applicationcontextprovider

@component public class applicationcontextprovider implements applicationcontextaware {      private static applicationcontext context;      public applicationcontext getapplicationcontext() {         return context;     }      @override     public void setapplicationcontext(applicationcontext ctx) {         context = ctx;     } } 

springconfiguration

@configuration public class springconfiguration {      @bean     public static applicationcontextprovider contextprovider() {         return new applicationcontextprovider();     }  } 

and non-spring managed server class:

public class server {     //your code      public void dousersdaostuff() {         usersdao usersdao = (usersdao) springconfiguration.contextprovider().getapplicationcontext().getbean("usersdao");         // own stuff usersdao here...     } } 

Comments

Popular posts from this blog

resizing Telegram inline keyboard -

command line - How can a Python program background itself? -

php - "cURL error 28: Resolving timed out" on Wordpress on Azure App Service on Linux -