imooc-springboot入门

第1章SpringBoot介绍

讲师:廖师兄

1-1SpringBoot介绍

SpringBoot的特点:

  1. 化繁为简,简化配置。
  2. 备受关注,是下一代框架。(是springMVC的升级版)
  3. 微服务的入门级微框架(微服务基于SpringCloud,而SpringCloud是基于SpringBoot的。)
    在这里插入图片描述
    补充:
    在这里插入图片描述
    在这里插入图片描述

1-2为什么要学习springcloud作为我们的微服务框架?

  首先如果你只熟悉Java语言,那么你学起来就会非常轻松,它并不需要mybatis、springmvc甚至struts那么多的配置文件,你只需要花时间去思考原理,写一些代码就能很快入门,我发誓它比前面的框架入门要简单,说实话我一直觉得k8s是一个很好的东西,但是k8s的学习曲线就很困难!!!
  springcloud的学习会让你对高并发、分布式、服务的降级、熔断及雪崩相关概念理解的更加清晰。springcloud是一套完整的微服务框架,正是因为它是全家桶,看起来繁杂,实际上使用风格很相似,而且拿dubbo来举例,dubbo不具有服务网关、分布式配置、服务跟踪等等功能,而springcloud都具备

1-3springBoot与springMVC的区别:

  说得更简便一些:Spring 最初利用“工厂模式”(DI)和“代理模式”(AOP)解耦应用组件。大家觉得挺好用,于是按照这种模式搞了一个 MVC框架(一些用Spring 解耦的组件),用开发 web 应用( SpringMVC )。然后又发现每次开发都写很多样板代码,为了简化工作流程,于是开发出了一些“懒人整合包”(starter),这套就是 Spring Boot。
  Spring Boot实现了自动配置,降低了项目搭建的复杂度。众所周知Spring框架需要进行大量的配置,Spring Boot引入自动配置的概念,让项目设置变得很容易。Spring Boot本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。也就是说,它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具。同时它集成了大量常用的第三方库配置(例如Jackson, JDBC, Mongo, Redis, Mail等等),Spring Boot应用中这些第三方库几乎可以零配置的开箱即用(out-of-the-box),大部分的Spring Boot应用都只需要非常少量的配置代码,开发者能够更加专注于业务逻辑。
  Spring Boot只是承载者,辅助你简化项目搭建过程的。如果承载的是WEB项目,使用Spring MVC作为MVC框架,那么工作流程和你上面描述的是完全一样的,因为这部分工作是Spring MVC做的而不是Spring Boot。
  对使用者来说,换用Spring Boot以后,项目初始化方法变了,配置文件变了,另外就是不需要单独安装Tomcat这类容器服务器了,maven打出jar包直接跑起来就是个网站,但你最核心的业务逻辑实现与业务流程实现没有任何变化。

所以,用最简练的语言概括就是:
Spring 是一个“引擎”;
Spring MVC 是基于Spring的一个 MVC 框架 ;
Spring Boot 是基于Spring4的条件注册的一套快速开发整合包。

第2章第一个SpringBoot应用

2-1 第一个SpringBoot应用

1.这里使用的开发软件是IntelliJ Idea,和Eclipse差不太多,界面更炫酷,功能更强大;Android Studio就是基于IntelliJ开发的。
使用IDEA创建SpringBoot项目:(http://start.spring.io/)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
项目结构为:
在这里插入图片描述
项目默认的 maven pom.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-	instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/	xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.jxust</groupId>
    <artifactId>spirngbootdemo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>spirngbootdemo</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.2.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

运行SpirngbootdemoApplication的main方法,就能开始运行。

2.spring boot 启动方式:

  1. 直接在程序application类中执行run 。(需用@SpringBootApplication这个注解)
  2. cd进入项目文件夹 执行 mvn spring-boot:run
  3. cd进入项目文件夹 执行 mvn install (先对项目进行编译), cd进入target文件夹会看到刚才生成的一个 xxx-0.0.1-SNAPSHOT.jar包, java -jar xxx-0.0.1-SNAPSHOT.jar

注意:如果在新建工程的时候没有1.4.1的spring boot,随便选一个就可以,然后在工程的pom.xml文件里的版本改一下就行了。maven会自动导入相关配置。

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>

注意:maven加载比较慢,解决方案1-1:新建settings.xml文件放在maven本地仓库目录C:\Users\expanxili046.m2\下,配置节点C:\Users\expanxili046.m2\repository及国内镜像:
在这里插入图片描述

第3章项目属性配置

3-1项目属性配置

  1. 3个注解的使用:
    a. @Value 从配置文件读取参数
    在这里插入图片描述
    b. @ConfigurationProperties 把yml里面一组配置参数封装成一个类(替代@value,简化!)
    在这里插入图片描述
    c. @Component 向SpringBoot注册一个类
    d. @Autowired 注入一个类(这个类需要被@Component注解)
    在这里插入图片描述
  2. yml配置文件的使用。(.yml代替.propotites,更方便。注意:.yml配置的冒号后有空格!
    在这里插入图片描述
    在这里插入图片描述
  3. 多配置文件的使用:
    application-dev.yml 开发环境配置文件
    application-prod.yml 生产环境配置文件
    application.yml 环境切换配置文件
    在这里插入图片描述
    如果配置的是prod就是切换到生产环境;或者是把工程编译打包之后,在命令行运行
    以生产模式运行:
    java -jar GirlApplication-0.0.1-SNAPSHOT.jar –spring.profiles.active=prod
    以开发模式运行:
    java -jar GirlApplication-0.0.1-SNAPSHOT.jar –spring.profiles.active=dev

第4章Controller的使用

4-1Controller的使用

在这里插入图片描述
@RestController = @Controller+@ResponseBody
@RequestMapping可以在类和方法上用
在这里插入图片描述
—>访问不同的url,可以得到相同的结果。使用集合形式:value={”/hello”,”/hi”}
—>@GetMapping 和 @PostMapping 都是相当于简化了@RequestMapping
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
设置默认值、是否必须:
在这里插入图片描述

第5章 数据库操作

5-1 数据库操作(上)

在这里插入图片描述
数据库配置:
在这里插入图片描述
pom更新后,重新导入文件:在pom.xml中右键 -> maven -> reimport。

jpa操作数据库的五种方式:
update:每次启动,更新表,表里面原来的数据还在的;
create:每次启动,重新创建表,会把表里面的数据删除;
create-drop:应用停下来的时候,就把表给删除;
none:什么都不做;
validate:验证类里面的属性和表结构是否一致,如果不一致的话,会报错。
一般来说,我们设置成update就可以了
在这里插入图片描述
在这里插入图片描述

5-2 数据库操作(下)

在这里插入图片描述
只需继承spring-data-jpa接口,调用改接口的方法,无需写sql
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
—>拓展:通过年龄查询:

在这里插入图片描述
在这里插入图片描述

第6章事务管理

6-1 事务管理

在这里插入图片描述

第7章总结

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值