美文网首页程序员
Spring-boot常用注解整理

Spring-boot常用注解整理

作者: Timor小先生 | 来源:发表于2017-11-10 16:30 被阅读0次

    1、@SpringBootApplication

    主类(入口类)的注解。(@Configuration,@EnableAutoConfiguration , @ComponentScan)

    2、@Repository

    DAO层注解,DAO层中接口继承JpaRepository<T,ID extends Serializable>,需要在build.gradle中引入相关jpa的一个jar自动加载。

    3、@Service

    ServiceImpl上面注解,注意不是Service接口,而是接口的实现类上。

    4、@Entity

    SpringMVC中model层相当于SpringBoot中的entity层,@Entity注解在实体类(domain层)上面。

    @Table(name ="数据库表名"),这个注解也注释在实体类上,对应数据库中相应的表。

    @Id、@Column注解用于标注实体类中的字段,pk字段标注为@Id,其余@Column。

    5、@RestController

    Controller层注解,@RestController相当于@Controller + @ResponseBody

    特殊的,若该控制器用于跳转JSP页面,必须用@Controller标注,否则不予跳转。

    6、@RequestMapping

    @RequestMapping是一个用来处理请求地址映射的注解,用于类或方法上,用于类上,表示类中所有响应请求的方法都是以该路径为父路径;

    自带属性:

    path 或者value:请求的地址;

    method:请求的方法;->具体写法:method = RequestMethod.POST,如果不确定就不要写

    *headers:指定request中必须包含某些指定的header值,才能让该方法处理请求;

    *params:指定request中必须包含某些参数值是,才让该方法处理;

    *consumes:指定处理请求的提交内容类型(Content-Type),如application/json,text/html;

    *produces:指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回;

    注:可以直接写@PostMapping或者@GetMapping来替换@RequestMapping

    7、@Autowired

    自动装配,自动导入依赖的beans,一般自动注入*Mapper或者*Service到另一层。

    8、@PathVariable

    用来处理占位符,类似user/{id}的路径,参数中需要@PathVariable(value="id") String id,为了避免犯错,尽量命名相同。

    9、@ResponseBody

    Controller方法返回结果直接写入HTTP response body中,一般在异步ajax获取数据时使用。

    也就是后台向前台返回结果的时候写此标签。

    10、@RequestBody

    对json格式的参数转换为Java类型。

    例如以下代码:

    jsp中:

    var formData = JSON.stringify($("#epicForm").serializeJson());

    $.ajax({

    url: "<%=basePath%>" + "/epics/epic/save",

    type:"POST",

    contentType: "application/json",

    data: formData,

    success:function(data){

    alert("添加成功");

    window.location.href = "<%=basePath%>/epics/epic/selAllEpic"

    }

    });

    Controller中:

    @RequestMapping(value = "/save", method = RequestMethod.POST)

    public void add(@RequestBody Epic epic, HttpServletRequest request) {

    log.info("this is v1 新增逻辑");

    log.info("this is v1" + request.getRequestURL());

    epicService.save(epic);

    System.out.printf("添加成功");

    }

    注:Controller类上面用的@RestController所以不需要用@ResponseBody

    11、 @RequestParam

    用在方法参数之前@RequestParam String id =request.getParameter("id");

    尽量不用...太low。

    相关文章

      网友评论

        本文标题:Spring-boot常用注解整理

        本文链接:https://www.haomeiwen.com/subject/namkmxtx.html