Using @Autowired HttpServletRequest request object in a Static Method
I have a requirement - where we use the HttpServletRequest request object to set the UserSession Details in this Object.
The UserSession are required to be fetched at various point in the Spring Application as per need and to access this, I Autowired the HttpServletRequest object. I used in multiple locations and it worked like a charm.
But the problem is, when I tried to use it in a Static contect, this request object throws compilation error "non-static variable . . . cannot be referenced from a static context" .
So, when I tried to make the HttpServletRequest as static, this turns out to be null. I am not sure why this happens and require a suitable solution to use in the static methods.
POJO Class
public class POJOClass{
@Autowired
private HttpServletRequest request;
public static String getData(){
UserObject uObj = UtilService.getUser(request);
//Throws Compilation error for request object.
}
*Here UtilService is the class defined from which the UserSession is fetched.
java spring
add a comment |
I have a requirement - where we use the HttpServletRequest request object to set the UserSession Details in this Object.
The UserSession are required to be fetched at various point in the Spring Application as per need and to access this, I Autowired the HttpServletRequest object. I used in multiple locations and it worked like a charm.
But the problem is, when I tried to use it in a Static contect, this request object throws compilation error "non-static variable . . . cannot be referenced from a static context" .
So, when I tried to make the HttpServletRequest as static, this turns out to be null. I am not sure why this happens and require a suitable solution to use in the static methods.
POJO Class
public class POJOClass{
@Autowired
private HttpServletRequest request;
public static String getData(){
UserObject uObj = UtilService.getUser(request);
//Throws Compilation error for request object.
}
*Here UtilService is the class defined from which the UserSession is fetched.
java spring
add a comment |
I have a requirement - where we use the HttpServletRequest request object to set the UserSession Details in this Object.
The UserSession are required to be fetched at various point in the Spring Application as per need and to access this, I Autowired the HttpServletRequest object. I used in multiple locations and it worked like a charm.
But the problem is, when I tried to use it in a Static contect, this request object throws compilation error "non-static variable . . . cannot be referenced from a static context" .
So, when I tried to make the HttpServletRequest as static, this turns out to be null. I am not sure why this happens and require a suitable solution to use in the static methods.
POJO Class
public class POJOClass{
@Autowired
private HttpServletRequest request;
public static String getData(){
UserObject uObj = UtilService.getUser(request);
//Throws Compilation error for request object.
}
*Here UtilService is the class defined from which the UserSession is fetched.
java spring
I have a requirement - where we use the HttpServletRequest request object to set the UserSession Details in this Object.
The UserSession are required to be fetched at various point in the Spring Application as per need and to access this, I Autowired the HttpServletRequest object. I used in multiple locations and it worked like a charm.
But the problem is, when I tried to use it in a Static contect, this request object throws compilation error "non-static variable . . . cannot be referenced from a static context" .
So, when I tried to make the HttpServletRequest as static, this turns out to be null. I am not sure why this happens and require a suitable solution to use in the static methods.
POJO Class
public class POJOClass{
@Autowired
private HttpServletRequest request;
public static String getData(){
UserObject uObj = UtilService.getUser(request);
//Throws Compilation error for request object.
}
*Here UtilService is the class defined from which the UserSession is fetched.
java spring
java spring
asked Nov 22 '18 at 5:22
Ashfaque RifayeAshfaque Rifaye
3521412
3521412
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
You should manage your utility class in Spring, follow How to Autowire bean in a static class by adding static Initializer which will add using Configuration
your class:
@Component
public class
StaticContextInitializer {
@Autowired
private MyConfig myConfig;
@Autowired
private ApplicationContext context;
@PostConstruct
public void init() {
StaticUtils.setMyConfig(myConfig);
}
}
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53424355%2fusing-autowired-httpservletrequest-request-object-in-a-static-method%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You should manage your utility class in Spring, follow How to Autowire bean in a static class by adding static Initializer which will add using Configuration
your class:
@Component
public class
StaticContextInitializer {
@Autowired
private MyConfig myConfig;
@Autowired
private ApplicationContext context;
@PostConstruct
public void init() {
StaticUtils.setMyConfig(myConfig);
}
}
add a comment |
You should manage your utility class in Spring, follow How to Autowire bean in a static class by adding static Initializer which will add using Configuration
your class:
@Component
public class
StaticContextInitializer {
@Autowired
private MyConfig myConfig;
@Autowired
private ApplicationContext context;
@PostConstruct
public void init() {
StaticUtils.setMyConfig(myConfig);
}
}
add a comment |
You should manage your utility class in Spring, follow How to Autowire bean in a static class by adding static Initializer which will add using Configuration
your class:
@Component
public class
StaticContextInitializer {
@Autowired
private MyConfig myConfig;
@Autowired
private ApplicationContext context;
@PostConstruct
public void init() {
StaticUtils.setMyConfig(myConfig);
}
}
You should manage your utility class in Spring, follow How to Autowire bean in a static class by adding static Initializer which will add using Configuration
your class:
@Component
public class
StaticContextInitializer {
@Autowired
private MyConfig myConfig;
@Autowired
private ApplicationContext context;
@PostConstruct
public void init() {
StaticUtils.setMyConfig(myConfig);
}
}
edited Nov 22 '18 at 5:57
answered Nov 22 '18 at 5:31
user7294900user7294900
21.1k113258
21.1k113258
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53424355%2fusing-autowired-httpservletrequest-request-object-in-a-static-method%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown