1.'Sort(org.springframework.data.domain.Sort.Direction, java.util.List<java.lang.String>)' has private access in 'org.springframework.data.domain.Sort'
springboot2.2.1(含)以上的版本Sort已经不能再实例化了,构造方法已经是私有的了!
可以改用Sort.by获得Sort对象。
2.'PageRequest(int, int, org.springframework.data.domain.Sort)' has protected access in 'org.springframework.data.domain.PageRequest'
1,2解决办法:
@Override
public List<Type> listTypeTop(Integer size) {
Sort sort = Sort.by(Sort.Direction.DESC,"blogs.size");
Pageable pageable = PageRequest.of(0,size,sort);
return typeRepository.findTop(pageable);
}
优点:利用构造方法,调用处写死了必须使用new来创建新的对象,对象的控制权在调用处,而调用of方法则把生成对象的控制权保留在了PageRequest类中,后期如果需要扩展则在PageRequest类中进行扩展即可