抽象类在SpringBoot项⽬中的使⽤。
嗯~~~~~~~~~哈哈
各位coder们是否想过这么⼀个问题,在业务中讨厌的CRUD⽅法总是感到,⼀个字烦。呜呜呜呜~~~
以前会在每个控制层写CRUD⽅法,我的天,就像现在流⾏的⼀句话,伤害性不⼤,侮辱性极强。具体的我就不沾代码了,读者⾃⾏体会吧。嘿嘿。
接下来,我就想⽤⼀个抽象类定义CRUD,注意这只是⼀个案例。
del;
import com.sun.istack.internal.NotNull;
import org.sp.ResponseData;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RestController;
import straints.NotBlank;
@Validated
@RestController
public abstract class BaseController {
@PostMapping("/add")
public abstract ResponseData add(@ModelAttribute@Validated Object o);
@PostMapping("/delete")
public abstract ResponseData delete(@NotBlank String id);
@PostMapping("/update")
public abstract ResponseData update(@ModelAttribute@Validated Object o);
@PostMapping("/lists")
public abstract ResponseData lists(@NotNull Integer current,@NotNull Integer size);
}
不理解抽象类的⾃⾏去脑补抽象类的相关知识。
接下来,我们直接继承这个抽象类。
der.web;
del.BaseController;
slf4j.Slf4j;
import org.sp.ResponseData;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
import javax.annotation.Resource;
import straints.NotBlank;
@RestController
@Slf4j
public class OrderNacosController extends BaseController {
@Resource
private RestTemplate restTemplate;
@Value("${service-url.nacos-user-service}")
private String serverURL;
@GetMapping(value ="/consumer/nacos/{id}")
public String paymentInfo(@PathVariable("id") Long id){
ForObject(serverURL+"/nacos/"+id,String.class);
}
@RequestMapping("/wf")
public String hello(){
return serverURL +"wf";
抽象类的使用}
@Override
public ResponseData add(Object o){
return null;
}
@Override
public ResponseData delete(@NotBlank String id){
return null;
}
@Override
public ResponseData update(Object o){
return null;
}
@Override
public ResponseData lists(Integer current, Integer size){
return null;
}
}
是不是可快了?只需要写extends,add method。
写在最后的话:
这只是我的初步想法,有啥地⽅不对的,或者不好的地⽅,还请读者指出,⼀起进步。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论