spring boot 定义这个私有成员变量,每次请求从controller访问指定的方法
在方法中对成员变量进行赋值操作,随后后续执行都只读改变量,多个请求会对这个成员变量产生安全问题么?
继续补充一波代码演示下
控制器
@RestController
@RequestMapping("/code")
public class AController {
@Autowired
private AService aService;
@RequestMapping("/search")
public Result<T> search(T dto) throws Exception {
return this.aService.search(dto);
}
}
服务
@Service
@Slf4j
public class CServiceImpl extends ServiceImpl implements CService {
private Group group = null;
@Autowired
private GroupService groupService;
public Result search(T dto) {
// 每次都从数据库取一条数据覆盖该group成员变量
this.group = this.groupService.getOne(dto.getId());
// 继续执行下面的逻辑,以下操作都仅限于读取group的值,不会修改,在多个请求并发时,this.group会不会发生线程安全问题呢?
this.todo1(this.group);
this.todo2(this.group);
this.todo3(this.group);
}
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…