@Transactional
	@CachePut(value = DIST_CACHE_USERS, key = "#user.userId")
	@Override
	public User saveWithoutPasswordEncoding(User user) {
		final List<User> followers = getFollowers(user.getFollowerIds());
		user.setFollowers(followers);

		User savedUser = saveWithoutFollowers(user);

		// Then expires new followers so that new followers info can be loaded.
		for (User eachFollower : followers) {
			userCache.evict(eachFollower.getUserId());
			userModelCache.evict(eachFollower.getId());
		}
		prepareUserEnv(savedUser);
		return savedUser;
	}
Save user.

@param user include id, userID, fullName, role, password.
@return User
ngrinder-controller/src/main/java/org/ngrinder/user/service/UserService.java