网站首页 > 博客文章 正文
以通俗易懂的方式,帮助广大想快速学习java的同学,特整理用于快速学习java,以实例讲解项目中常用的流行实战技术,15天速成,让你基本掌握整个应用开发的技能,剩下的就是多写多实战。
1. @SpringBootApplication
@SpringBootApplication:表示这是一个springboot应用程序
//作用:说明是SpringBoot应用程序
@SpringBootApplication
public class Demo2Application {
public static void main(String[] args) {
SpringApplication.run(Demo2Application.class, args);
System.out.println("Demo2Application已启动");
}
}
2. @RestController
说明此控制器是一个返回json数据格式的接口,可以与@RequestMapping 搭配
//作用:返回json格式的数据
@RestController
//作用:本类的所有接口地址以`/day05`开始
@RequestMapping("/day05")
public class Day05Controller {
}
3. @GetMapping
@GetMapping(value="/get"):表示接受的是GET请求,整个请求路径和控制器的请求路径叠加
//作用:返回json格式的数据
@RestController
//作用:本类的所有接口地址以`/day05`开始
@RequestMapping("/day05")
public class Day05Controller {
//作用:定义一个请求路径是`/get`的`GET`请求;
//最终路径是 `/day05/get`
@GetMapping(value = "/get")
public R<Person> get() {
}
}
4. @PostMapping
@PostMapping(value="/get"):表示接受的是POST请求,整个请求路径和控制器的请求路径叠加
//作用:返回json格式的数据
@RestController
//作用:本类的所有接口地址以`/day05`开始
@RequestMapping("/day05")
public class Day05Controller {
//作用:定义一个请求路径是`/post`的`POST`请求;
//最终路径是 `/day05/post`
@PostMapping(value = "/post")
public R<Person> post() {
}
}
5. @PutMapping
@PutMapping(value="/get"):表示接受的是POST请求,整个请求路径和控制器的请求路径叠加
//作用:返回json格式的数据
@RestController
//作用:本类的所有接口地址以`/day05`开始
@RequestMapping("/day05")
public class Day05Controller {
//作用:定义一个请求路径是`/put`的`PUT`请求;
//最终路径是 `/day05/put`
@PutMapping(value = "/put")
public R<Person> put() {
}
}
6. @DeleteMapping
@DeleteMapping(value="/get"):表示接受的是DELETE请求,整个请求路径和控制器的请求路径叠加
//作用:返回json格式的数据
@RestController
//作用:本类的所有接口地址以`/day05`开始
@RequestMapping("/day05")
public class Day05Controller {
//作用:定义一个请求路径是`/delete`的`DELETE`请求;
//最终路径是 `/day05/delete`
@DeleteMapping(value = "/delete")
public R<Person> delete() {
}
}
7. 接口方法获取参数的注解
@RequestParam:获取跟在请求路径后的参数值
@PathVariable:获取请求路径中同名的参数值
@RequestBody:获取body中传递的对象参数值
//作用:定义一个请求路径是`/user`的`GET`方法,必传参数:类型是Integer,参数名userId
@GetMapping("/user")
public R<Integer> insert(@RequestParam Integer userId) {
return R.ok(userId);
}
//作用:定义一个请求路径是`/user1`的`GET`方法,非必传参数:类型是Integer,参数名userId1
@GetMapping("/user1")
public R<Integer> insert1(@RequestParam(name = "userId1", required = false) Integer userId1) {
return R.ok(userId1);
}
//作用:定义一个请求路径是`/user`的`GET`方法,必传path参数:类型是Integer,参数名userId
@GetMapping("/user/{userId}")
public R<Person> getUser(@PathVariable Integer userId) {
return R.ok(scoreService.getUser(userId));
}
//作用:分页查询
@GetMapping("/list")
public R<RPage<Person>> list(@Validated @RequestBody ScoreParam scoreParam) {
List<Person> list = new ArrayList<>();
Integer total = 10;
int start = (scoreParam.getPage().getPageNum() - 1) * scoreParam.getPage().getPageSize() + 1;
int end = start + scoreParam.getPage().getPageSize() - 1;
int end1 = (10 - 1) * scoreParam.getPage().getPageSize() + scoreParam.getPage().getPageSize() + 1;
end = end <= end1 ? end : end1;
for(int i = start; i <= end; i++) {
list.add(new Person(i,"test-" + i));
}
return R.page(total, list);
}
8. @Value
@Value:获取配置文件中的值
//作用:一般的字符串取值
@Value("${my-property.name:abc}")
private String name;
9. @Configuration
@Configuration:声明是一个配置类;@ConfigurationProperties:绑定配置类
@Data
//作用:声明这是一个配置类
@Configuration
//作用:配置类的前缀
@ConfigurationProperties("my-property")
public class MyProperty {
private List<Integer> userIds;
}
10. @Bean、@Component、@Repository、@Service、@Controller
@Bean:用在方法上,由Spring创建一个bean实例
@Component(底层)、@Respository(数据访问)、@Service(业务逻辑)、@Controller(控制器)用在类上,由Spring创建一个bean实例;
@Configuration
public class MyBean {
@Bean
public Person person() {
return new Person(0, "person.bean");
}
}
@Service
public class ScoreServiceImpl implements ScoreService {
}
/**
* 作用:提供redis服务,可供其他地方使用
*/
@Component
public class RedisService {
}
11. @ComponentScan
@ComponentScan:组件扫描,扫描包下的组件
12. @PostConstruct
@PostConstruct :用在方法上,在类构造器调用完后,调用这个方法,以用来初始化
@PostConstruct
public void init() {
log.error("===ScoreServiceImpl.init===");
}
下节课程预报
1. druid数据库连接
2. mybatis plus 增删改查
3. MybatisLog 插件
沟通交流,请添加好友
猜你喜欢
- 2024-09-12 苹果亲自降价!iPhone 14系列一夜售空:价格够低就真香
- 2024-09-12 2022双十一!盘点今年值得入手的几个会员年卡
- 2024-09-12 电商平台仓储物流之运费分析及设计
- 2024-09-12 索尼确认PS+会籍叠加功能将关闭直到新服务上线
- 2024-09-12 AION S Plus:有颜有料,座椅舒适性价比高,这台车家用代步真香?
- 2024-09-12 快速开发平台 ruoyi-vue-pro(6)数据权限功能设计分析和实测
- 2024-09-12 SpringCloud Alibaba实战:基本开发框架搭建
- 2024-09-12 MyBatis Plus—CRUD 接口(mybatisdao接口原理)
你 发表评论:
欢迎- 368℃用AI Agent治理微服务的复杂性问题|QCon
- 362℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 358℃初次使用IntelliJ IDEA新建Maven项目
- 351℃Maven技术方案最全手册(mavena)
- 348℃安利Touch Bar 专属应用,让闲置的Touch Bar活跃起来!
- 347℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 345℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 343℃从头搭建 IntelliJ IDEA 环境(intellij idea建包)
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)