Springboot笔记
2018-10-28 本文已影响0人
61etj
控制层
@RestController //使用festful风格的api
public classs HelloController{
@ReuqestMapping(value="/路径/{参数}",method=RequestMethod.GET)//等同于@GetMapping(value="/路径")
public String say(@PathVariable("参数") Integer id){
}
}
等同于以下
@Controller //(类如果只使用这个需要增加模板,类似Jsp)
@ResponseBody
获取请求参数
@PathVariable("参数")//从路径获取参数
@RequestParam("参数")//传统的获取注解方式
@RequestParam(value="参数",required=false,defaultValue="0")//设置非必传,默认为0
从application.yml中获取数据
@value("${直接属性}")
private String 任意名
@ConfigurationProperties(prefix="配置的直接属性上级")
public class 上级Properties
Service
@Service
public class StyleService {
@Autowired
private StyleRepository styleRepository;
public List<Style> styleList() {
return styleRepository.findAll();
}
}
AOP
@Aspect
@Component
public class SingAop {
@Pointcut("execution(public * com.lrvik.goodsmanager.controller.*.*(..))")//切点,参数为正则表达式,表示需要拦截的方法
public void webSign() {
}
//拦截到会环绕调用一下方法
@Around("webSign()")
public Object doAround(ProceedingJoinPoint joinPoint) throws Throwable {
try {
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request = attributes.getRequest();
//这里可以获取请求对象中的所有数据
String sign = request.getHeader("");
return joinPoint.proceed();
} catch (Exception e) {
return new BaseResult(0, e.getMessage());
}
}
}