springboot使用redis,一般来说,还算是比较简单的,可以采用配置的方式,也可以使用代码
注解的方式,我直接用的注解:
首先在pom中添加maven依赖:
class="java"><dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
在启动类****Application上添加对应的注解:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.Cacheable;
@SpringBootApplication
@Cacheable
public class WechatsellApplication {
public static void main(String[] args) {
SpringApplication.run(WechatsellApplication.class, args);
}
}
在需要添加的方法上,添加对应的注解:
@RestController
@RequestMapping("/buyer/product")
public class BuyerProductController {
@Autowired
private ProductCategoryService productCategoryService;
@Autowired
private ProductInfoService productInfoService;
@SuppressWarnings("unchecked")
@GetMapping("/list")
@Cacheable(cacheNames = "product", key = "productKey")
public ResultVo<List<ProductVO>> list() {
/**
* 查询所有上架的商品
*/
List<ProductInfo> productInfoList = productInfoService.findUpAll();
/**
* 查询类目
*/
/***
* java8 lambda
*/
List<Integer> categoryTypeList = productInfoList.stream().map(e -> e.getCategoryType())
.collect(Collectors.toList());
List<ProductCategory> productCategoryList = productCategoryService.findByCategoryTypeIn(categoryTypeList);
/**
* 拼装数据
*/
List<ProductVO> productVOList = new ArrayList<>();
for (ProductCategory productCategory : productCategoryList) {
ProductVO productVO = new ProductVO();
productVO.setCategoryType(productCategory.getCategoryType());
productVO.setCategoryName(productCategory.getCategoryName());
List<ProductInfoVO> productInfoVOList = new ArrayList<>();
for (ProductInfo productInfo : productInfoList) {
if (productInfo.getCategoryType().equals(productCategory.getCategoryType())) {
ProductInfoVO productInfoVO = new ProductInfoVO();
BeanUtils.copyProperties(productInfo, productInfoVO);
productInfoVOList.add(productInfoVO);
}
}
productVO.setProductInfoVOList(productInfoVOList);
productVOList.add(productVO);
}
return ResultVoUtil.success(productVOList);
}
}
搞定。