Bean类
@Service
注解在类上,表示这是一个业务层bean。
@Controller
注解在类上,表示这是一个控制层bean,可以解析返回的jsp,html页面,并且跳转到相应页面。
public class TestController { public String goUploadImg() { //跳转到 templates 目录下的 uploadimg.html return "uploadimg"; } |
@Repository
注解在类上,表示这是一个数据访问层bean。
@Component
注解在类上,表示通用bean。
Response类
@RequestMapping
用于进行路径映射。
//对test路径进行映射,其下方函数用于对路径test的请求进行处理 //其默认参数为value,即不指定时,参数当做value处理,上一行等价于 //method:指定请求的method类型, GET、POST、PUT、DELETE等 //consumes:指定处理请求的提交内容类型(Content-Type),例如application/json,text/html //produces:指定返回的内容类型,但仅当请求头中的(Accept)类型也是该类型时才处理请求 //params:指定request中必须包含某些参数值时,才让该方法处理 //仅处理请求中包含了名为“myParam”,值为“myValue”的请求 //headers:指定request中必须包含某些指定的header值,才能让该方法处理请求 //仅处理request的header中包含了指定“Refer”请求头和对应值为“http://www.ifeng.com/”的请求; |
@ResponseBody
加在controller函数的前面,可以将返回的对象自动转换为json字符串。
@RestController
相当于@ResponseBody和@Controller的结合。
Lombok类
lombok是一个注解种类,可以自动生成一些方法,从而减少开发复杂度。
@Getter/@Setter
可以用@Getter/@Setter注释任何字段(当然也可以注释到类上的),lombok会自动生成默认的getter/setter方法。
@Data
相当于@Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode
这5个注解的合集。
可自动生成类的Get和Set等方法。
@Cleanup
可以加在IO变量声明之前,这样会在使用后自动释放IO变量。
new FileInputStream(path);
InputStream in = |
@EqualsAndHashCode
此注解会生成equals(Object other) 和 hashCode()方法。
@AllArgsConstructor
为类生成包含所有参数的构造函数。
@NoArgsConstructor
为类生成无参数的构造函数。
@Builder
建筑者模式,是现在比较推崇的一种构建值对象的方式。
会为类生成各种构造函数。
@NonNull
注解在参数上 如果该参数为null 会throw new NullPointerException(参数名)。
异常处理类
@ControllerAdvice
被ControllerAdvice注解的类会被认为是用来进行全局异常处理的类。
public class GlobalExceptionHandler { } |
@ExceptionHandler
用于确认被其注释的方法所要处理的异常类型。
public class GlobalExceptionHandler { //接管运行时异常,进行处理 String handleException(){ return "Exception Deal!"; } } |
其他
@Autowired
自动填充,可以通过Autowired引入需要新建的对象,就无需每次调用时新建。
private LocaleMessageSourceUtil localeMessageSourceUtil; |
就相当于:
private LocaleMessageSourceUtil localeMessageSourceUtil=new LocaleMessageSourceUtil();
|
文章评论