springboot开发项目整理(一)基础注解整理

结合hierarchy模块来说进行归纳总结

一、首先是创建实体类。创建类的时候注意属性字段一定要小写。如果使用驼峰命名法出现了属性字段无法映射到对象当中的情况。这个类继承Serializable这个类实现序列化。et/set/hashcode/equals/tostring方法。

二、controller类。这个是核心类之一。在这个类当中接受用户传入的request请求对不同请求映射到不同的方法上进行转发处理。这个类@restcontroller(@controller与@responsebody(没记错的话~)的合并体)。通过@requestmapping在类上(类上就是整个类公共的)或者方法上(制定到具体方法单用);@Autowired通过这个注解来进行其他接口或者实体类的注入,实现后面方法的调用;对于个各种请求本项目采用的是@postmapping这种格式分别对应CRUD整个注解就是@requestmapping与其method制定好的一个合并体,这个注解的consumes= {"application/json;charset=UTF-8"}, produces = {"application/json;charset=UTF-8"}这两个属性分别要求了输入参数的格式以及返回结果的格式都是json以及编码为UTF-8;

      下面就是比较重要的关于前端传入参数的接收问题:1、前端传入的是一个对象或者对象的集合。这个时候就需要方法的参数前面添加@requestbody注解来注入对象类型的参数。2、http://localhost:8080/api/hierarchies/search?page=1&size=2这种类型的访问需要使用@requestparam来进行接收同样的在方法中进行指明关联。如下:@RequestParam("page") int page,@RequestParam("size") int size 。上面的接受@GetMapping("/search")3、http://localhost:8080/api/hierarchies/2这种样式的访问对应的是@GetMapping(value="/{hierarchyId}")这种样式的注解,接收的时候@PathVariable ("hierarchyId") int hierarchyId这样来接收。(具体结合本项目代码)。

关于controller,service,serviceimpl,Dao层级之间的关联调用。controller是控制成实体类,通过注入service接口来调用其方法,service接口的实现类impl对其进行继承实现,在这里面处理业务逻辑,controller基本主要负责业务跳转,impl具体实现除了本身业务逻辑在这里面进行实现之外,具体的调用方法都是Dao这个接口来实现的。关于Dao层是另外一个核心层。接口上面配置@mapper这样省掉了之前springmvc时候配置mapping文件。直接通过注解就可以实现同样作用。针对具体不同类型的操作CRUD分别对应了@INSERT/@DELETE/@UPDATE/@SELETE注解。注解里面写sql语句取方法参数中的具体值得时候对象的值直接ID=#{id}这样直接取值。这个id就是对象的属性名字。

其他的非对象类型也是一样根据具体传进来的值进行取值,但是需要注意添加@param注解才行。如下:

关于@param注解

@Select("select s_id id,s_name name,class_id classid from student where  s_name= #{aaaa} and class_id = #{bbbb}"

public Student select(@Param("aaaa") String name,@Param("bbbb")int class_id);  

where  s_name= #{aaaa} and class_id = #{bbbb} 表示sql语句要接受2个参数,一个参数名是aaaa,一个参数名是bbbb,如果要正确的传入参数,那么就要给参数命名,因为不用xml配置文件,那么我们就要用别的方式来给参数命名,这个方式就是@Param注解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值