나는 스프링 범위의 초보자입니다.스프링 컨트롤러 범위 및 세션 데이터 저장
ABC는 루트 개체이며 트리 구조를 포함하고 사용자 조치가 하위 개체의 아무 곳이나 변화를 수반하므로 ABC 개체가 동일한 사용자 세션에서 여러 번 변경할 수 있기 때문에
@Controller
public class PageController extends AbstractController {
private ABCManager abcManager;// repository singleton bean.
@Inject
public PageController(final ABCManager accountDiaryManager){
this.abcManager= abcManager;
}
@RequestMapping(value="/createpage",method=RequestMethod.POST)
public @ResponseBody Page createPage(@RequestParam(value="viewtype")final String viewtype, final WebRequest request)
{
final ABC abc= (abc) request.getAttribute(AbstractController.CURRENT_ABC, WebRequest.SCOPE_SESSION);
.........
abcManager.createPage(Long.valueOf(abc.getId()), page);
request.setAttribute("abc", abcManager.getabc(abc.getId()),WebRequest.SCOPE_SESSION);
}
을 다음과 같이 나는 코드가 . 그래서 수정이 수행되면 수정 된 abc 객체를 요청 내에 저장하여 요청 내에 매번 최신 abc 객체를 사용할 수있게합니다. 이 abc는 매우 커질 수 있으며 이것이 내 관심사입니다. 이렇게하는 것이 좋은 방법입니까?
이 코드를 작성하는 것이 좋은 방법인지 알고 싶습니다. 이 스레드는 안전한 방법입니까? 최선의 대안은 무엇입니까?