本文主要是介绍imooc-2小时上手SpringBoot,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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: 1maxMoney: 9999description: 最少要发${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 {@Autowiredprivate LimitConfig limitConfig;@GetMapping(value = "/hello")public String say(){return "说明:" + limitConfig.getDescription();} }
-
两种生产模式(开发和生产)
-
# application.yml spring:profiles:active: dev# application-dev.yml # 服务器端配置 server:port: 8080servlet:context-path: /luckymoney # 红包配置 limit:minMoney: 0.01maxMoney: 9999description: 最少要发${limit.minMoney}元,最多可发${limit.maxMoney}元# application-prod.yml # 服务器端配置 server:port: 8080servlet:context-path: /luckymoney # 红包配置 limit:minMoney: 2maxMoney: 9999description: 最少要发${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.Driverurl: jdbc:mysql://127.0.0.1:3306/luckymoneyusername: rootpassword: jpa:hibernate:ddl-auto: createshow-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中的方法
第8章 总结
这篇关于imooc-2小时上手SpringBoot的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!