都说程序员要会,今天浅谈一下springboot(1)

1.先说一下springboot比较spring的优点

  • Spring Boot 的优点如下:
    • 快速创建独立运行的Spring项目以及与主流框架集成
    • 使用嵌入式的Servlet容器,应用无需打成WAR包
    • starters自动依赖与版本控制
    • 大量的自动配置,简化开发,也可修改默认值
    • 无需配置XML,无代码生成,开箱即用
    • 准生产环境的运行时应用监控
    • 与云计算的天然集成

2.springboot的核心功能

起步依赖

起步依赖的本质上是一个Maven项目对象模型,定义了对其他库的传递依赖,这些东西加在一起即支持某项功能。
简单的说,起步依赖就是将具备某种功能的坐标打包到一起,并提供一些默认的功能。

自动配置

  • Spring Boot的自动配置是一个运行时(更准确地说,是应用程序启动时)的过程,考虑了众多因素,才决定Spring配置应该用哪个,不该用哪个。该过程是Spring自动完成的。

3.springboot代码解析

SpringBoot代码解析

  • @SpringBootApplication:标注SpringBoot的启动类,该注解具备多种功能
  • SpringApplication.run(MySpringBootApplication.class) 代表运行SpringBoot的启动类,参数为SpringBoot启动类的字节码对象

4.springboot工程热部署

我们在开发中反复修改类、页面等资源,每次修改后都是需要重新启动才生效,这样每次启动都很麻烦,浪费了大量的时间,我们可以在修改代码后不重启就能生效,在 pom.xml 中添加如下配置就可以实现这样的功能,我们称之为热部署

<!--热部署配置-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
</dependency>
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

热部署配置

Shift+Ctrl+Alt+/,选择Registry

4.关于@SpringBootApplication 注解的三个重点注解

  1. @ComponentScan(包扫描)
    • component是组件,scan是扫描,所以这个注解的含义就是用来扫描组件的,componentScan 扫描当前包及其子包下被 @Component,@Controller,@Service,@Repository注解标记的类并纳入到spring容器中进行管理,所以这个注解会自动注入所有在主程序所在包下的组件。默认把当前启动类所在的包作为扫描包的起点。
    • @SpringBootConfiguration : 表示当前类具有配置类的作用
    • @EnableAutoConfiguration:自动配置
    • 根据当前引入的依赖包,猜测需要创建的工程类型,以及工程中有可能创建的对象,根据猜测自动创建工程所需的相关实例bean程序启动,会自动加载扫描所有 classpath:/META-INF/spring.factories文件 ,并且创建对应实例

5.关于springboot配置文件

SpringBoot配置文件类型和作用

SpringBoot是基于约定的,所以很多配置都有默认值,但如果想修改默认配置的话,就可以使用application.propertiesapplication.yml(application.yaml)进行配置。

  • YML文件格式是YAML (YAML Ain't Markup Language)编写的文件格式,YAML是一种直观的能够被电脑识别的数据序列化格式,并且容易被人类阅读,容易和脚本语言交互的,可以被支持YAML库的不同的编程语言程序导入,比如: C/C++, Ruby, Python, Java, Perl, C#, PHP等。YML文件是以数据为核心的,比传统的xml方式更加简洁。
  • YML文件的扩展名可以使用.yml或者.yaml
  • 标记语言:
    • 以前的配置文件;大多都使用的是 xxxx.xml文件;
    • YAML:以数据为中心,比json、xml等更适合做配置文件;
    • YAML:配置例子

6.YAML语法

1、YAML基本语法

  • 使用缩进表示层级关系
  • 缩进时不允许使用Tab键,只允许使用空格。
  • 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
  • 大小写敏感

2、YAML 支持的三种数据结构

  • 对象:键值对的集合
  • 数组:一组按次序排列的值
  • 字面量:单个的、不可再分的值

7.配置文件与配置类的属性映射方式

  1. 使用注解@Value映射

我们可以通过@Value注解将配置文件中的值映射到一个Spring管理的Bean的字段上

例如:

  • application.yml配置如下:
person:
  name: zhangsan
  age: 18

实体bean如下

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
 
@Controller
public class Quick2Controller {
 
    @Value("${person.name}")
    private String name;
 
    @Value("${person.age}")
    private Integer age;
 
    @RequestMapping("/quick")
    @ResponseBody
    public String quick(){
        //获得配置文件的信息
        return "name:"+name+",age="+age;
    }
 
}

 

8.spring创建bean的三种方式

1.标签

<bean id=”user” class=”com.atguigu.bean.User”></bean>

2.组件注解

@Component @Controller @Service @Repository

3.自定义配置类

@Configuration
public class AppConfig {
    @Bean
    public User user(){
return new User();
    }
}

猜你喜欢

转载自blog.csdn.net/tony_yang6/article/details/107911919