imooc-2小时上手SpringBoot
第1章 课程引导
- SpringBoot的特点
- 化繁为简,简化配置
- 备受关注,是下一代框架
- 微服务的入门级微框架
- 微服务
第2章 初遇SpringBoot
第3章 第一个SpringBoot程序
- 命令行启动项目
- cd到project目录下
- mvn spring-boot:run
- ctrl+c 终止项目
- 在服务器上部署
- cd到project目录下
- mvn clean package打包
- mvn package -DskipTests跳过tests文件
- java -jar target/*.jar启动项目
第4章 自定义属性配置
-
application.yml
- .yml是一种格式
- 保留相同前缀
- 有缩进 两个空格
- :后有1位空格+内容,否则格式报错
-
对自己内容进行配置
- min: 1
- 在controller使用配置:@Value("${min}") private BigDecimal min;
- 在配置中使用配置:description: ${min}为最小值
- 对于多个内容 可以采用缩进的方式归属到一个前缀下
# application.yml limit: minMoney: 1 maxMoney: 9999 description: 最少要发${limit.minMoney}元,最多可发${limit.maxMoney}元 #limitConfig @Component @ConfigurationProperties(prefix = "limit") public class LimitConfig { private BigDecimal minMoney; private BigDecimal maxMoney; private String description; public BigDecimal getMinMoney() { return minMoney; } public void setMinMoney(BigDecimal minMoney) { this.minMoney = minMoney; } public BigDecimal getMaxMoney() { return maxMoney; } public void setMaxMoney(BigDecimal maxMoney) { this.maxMoney = maxMoney; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } } # HomeController @RestController public class HelloController { @Autowired private LimitConfig limitConfig; @GetMapping(value = "/hello") public String say(){ return "说明:" + limitConfig.getDescription(); } } -
两种生产模式(开发和生产)
-
# application.yml spring: profiles: active: dev # application-dev.yml # 服务器端配置 server: port: 8080 servlet: context-path: /luckymoney # 红包配置 limit: minMoney: 0.01 maxMoney: 9999 description: 最少要发${limit.minMoney}元,最多可发${limit.maxMoney}元 # application-prod.yml # 服务器端配置 server: port: 8080 servlet: context-path: /luckymoney # 红包配置 limit: minMoney: 2 maxMoney: 9999 description: 最少要发${limit.minMoney}元,最多可发${limit.maxMoney}元 -
选择模式
-
application.yml中:
spring.profiles.active:dev或prod
-
打包为jar包后运行:
java -jar -Dspring.profiles.action=prod targect/*.jar
-
-
第5章 Controller的使用
| @Controller | 处理http请求 |
|---|---|
| @RestController | Spring4之后新加的注解,原来返回json需要@ResponseBody配合@Controller (@ResponseBody也可以放到方法前使用) |
| @RequestMapping | 配置url映射 |
-
只有@Controller的注解下返回信息需借助模板(thymeleaf)
-
先在pom.xml中加依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> -
/resources/templates下新建page.html作为返回页面
-
Controller中 return “page”
-
-
访问多个路径获得同一结果:@GetMapping({"/","/"})
-
访问多个分支下的结果
@RestController @RequestMapping("/hello") public class HelloController(){ @GetMapping("/say") public String say(){ return "say"; } } -
不同请求方式
- @GetMapping("/")
- @PostMapping("/")
- @RequestMapping("/")
- 一般只使用一种方式
-
获取参数
@PathVariable 获取url中的数据 @RequestParam 获取请求参数的值 ../say/1 @GetMapping("/say/{id}") piblic String say(@PathVariable("id") Integer id){ return "id:" + id; } ../say?id=1 @GetMapping("/say") piblic String say(@RequestParam("id") Integer id){ return "id:" + id; } ../say @GetMapping("/say") piblic String say(@RequestParam(value="id",required=false,defaultValue="0") Integer id){ return "id:" + id; } ../say?id=1 ../say resquestBody:id:1 @PostMapping("/say") piblic String say(@RequestParam("id") Integer id){ return "id:" + id; }
第6章 红包程序(spring-data-jpa)
-
JPA(Java Persistence API)定义了一系列对象持久化的标准,目前实现这一规范的产品有Hibernate,TopLink等
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> -
RESTful API设计
请求类型 请求路径 功能 GET/POST/… /…/. … -
数据库配置
spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/luckymoney username: root password: jpa: hibernate: ddl-auto: create show-sql: true //控制台是否显示sql语句- 通过Entity可自动配置sql语句
- ddl-auto:
- create执行建表操作,若表存在则删掉重建
- update执行表更新操作
-
JpaRepository<实体类,传入参数类型> 接口有各种方法,可在Controller中直接使用
@Autowired private LuckymoneyRepository repository; repository.findById(); repository.save();
第7章 事务管理
- 数据库事务,是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行
- Mysql中InnoDB引擎支持事务
- 创建事务
- Service中创建一个方法作为一个事务
- 事务方法注解为@Transactional
- 在Controller中调用service中的方法

本文是一份imooc的SpringBoot入门教程,从课程引导开始,介绍了SpringBoot的特点、如何创建和运行第一个SpringBoot程序,详细讲解了自定义属性配置、Controller的使用、红包程序(涉及spring-data-jpa)以及事务管理。通过对各个章节的学习,读者可以全面了解并掌握SpringBoot的基础应用。
497

被折叠的 条评论
为什么被折叠?



