假设有一个bean定义为:
@Component
@SessionScope
public class Person {
private int age;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
和其他控制器,如:
@RestController
public class PersonController {
@Autowired
private Person person;
@RequestMapping("/age/{newAge}")
public String age(@PathVariable("age") int newAge) {
int previousAge = person.getAge();
person.setAge(newAge);
return previousAge + ":" + newAge;
}
}
正如预期的那样,根据人员配置,为每个会话定义了控制器中的person
。
稍后,有人决定将Person
更改为@RequestScope。现在控制器的行为已经破裂。
有没有办法验证person
的预期范围?
像@autowired(requiredScope =" session")?