Spring使用细节

● 注入属性

//根据bean的类型注入
@AutoWired
//根据bean的id注入
@Resource

● component-scan标签只能用一个,扫描多个包要用逗号分隔

<context:component-scan base-package="cn.e3mall.service,cn.e3mall.controller"/>

 ● 有时浏览器插件对json类型数据支持不好,需要springmvc要给前台返回text-plain类型

@RequestMapping(value="/pic/upload",produces=MediaType.TEXT_PLAIN_VALUE+";charset=utf-8")

● 用spring的core包下的方法md5加密

String md5 = DigestUtils.md5DigestAsHex(user.getPassword().getBytes());

● 用在Controller方法参数里的注解

@RequestBody //获取post请求体里的json
@PathVariable //获取请求路径上的参数
@RequestParam(defaultValue = "0") //若传来null,给参数赋默认值
@RequestParam(required = false)//指定该参数不必传,默认值为true

● 使某个Controller能被不用域名的js访问(实现跨域):

在Controller类上加 @CrossOrigin

● Springmvc接收日期类型

@DateTimeFormat(pattern="yyyy-MM-dd")
private Date reserveSignEndDate;

● post请求也能带请求参数,不能写在请求体里。接收参数是对象和属性时,属性必须加@requestParam:

@PostMapping
public Result addBrand(Brand brand, @RequestParam List<Long> cids)

此时前端请求的List参数用逗号分隔:

 

 ● spring快速异步

1.在线程池配置类上加注解

@EnableAsync(mode = AdviceMode.ASPECTJ)

其中mode可指定通知类型

2.在要异步执行的方法上加@Async

posted on 2019-02-10 10:26  bofeng  阅读(212)  评论(0编辑  收藏  举报