Spring @Component, @Controller, @RestController,@Service, and @Repository classes
are singletons by default, meaning only one instance of the class is ever instantiated in the application. Typically such a class might have a few
static members, such as a logger, but all non-static members should be managed by Spring.
This rule raises an issue when a singleton @Component, @Controller, @RestController, @Service,
or @Repository, not annotated with @ConfigurationProperties, has non-static members that are not annotated with
one of:
org.springframework.beans.factory.annotation.Autowired org.springframework.beans.factory.annotation.Value javax.annotation.Inject javax.annotation.Resource Add one of these annotations to all non-static members: @Resource, @Inject, @Autowired or
@Value.
@Controller
public class HelloWorld {
private String name = null;
@RequestMapping("/greet", method = GET)
public String greet(String greetee) {
if (greetee != null) {
this.name = greetee;
}
return "Hello " + this.name; // if greetee is null, you see the previous user's data
}
}