springboot基础

本文详细介绍了SpringBoot的特性,包括内嵌Servlet容器、starter简化配置、自动配置、应用监控和无XML配置。步骤涵盖了创建Maven项目、配置pom.xml、YAML文件使用,以及@SpringBootApplication注解的作用和多环境配置。

Spring Boot是由spring的Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。

Spring Boot 具有以下特点:

1 内嵌 Servlet 容器

Spring Boot 使用嵌入式的 Servlet 容器(例如 Tomcat、Jetty 或者 Undertow 等),应用无需打成 WAR 包 。

2 提供 starter 简化 Maven 配置

Spring Boot 提供了一系列的“starter”项目对象模型(POMS)来简化 Maven 配置。

3 提供了大量的自动配置

Spring Boot 提供了大量的默认自动配置,来简化项目的开发,开发人员也通过配置文件修改默认配置。

4 自带应用监控

Spring Boot 可以对正在运行的项目提供监控。

5 无代码生成和 xml 配置

Spring Boot 不需要任何 xml 配置即可实现 Spring 的所有配置

一,项目创建

1.创建maven项目

 2.pom文件配置

可以定义自定义jdk版本,编译时字符集。

①在build标签里配置jdk版本和字符集

           <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>

②自定义依赖包的版本号

<fastjson.version>1.2.83</fastjson.version>
      <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>${fastjson.version}</version>
        </dependency>

3.YAML文件配置

YAML 全称 YAML Ain't Markup Language,它是一种以数据为中心的标记语言。

其属性配置文件以(.yml)结尾

YAML 的语法如下:

  • 使用缩进表示层级关系。

  • 缩进时不允许使用 Tab 键,只允许使用空格

  • 缩进的空格数不重要,但同级元素必须左侧对齐,一般缩进两个空格。

  • 大小写敏感

1.基础配置,设置端口号

server:
  port: 8081

2.多环境JAML配置

①在resources目录下创建application-dev.yml和application-prod.yml文件,分别表示开发环境和生产环境。

在application-dev.yml中配置端口号:

server:
  port: 8081

在application.yml中指定哪个配置文件生效:

spring:
  profiles:
    active: dev

此时指定为dev环境,即开发环境生效。

active属性后面的值要跟yml的命名保持一致,如active: dev,对应的yml文件名称是application-dev.yml
其中application-dev.yml的命名格式 "application-"是固定的

②也可以通过获取pom文件中的配置项来指定多环境配置文件:

在pom.xml文件中添加profiles:

<profiles>
        <profile>
            <id>dev</id>
            <properties>
                <profileActive>dev</profileActive>
            </properties>
            <activation>
              	<!--默认为dev环境打包方式-->
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>prod</id>
            <properties>
                <profileActive>prod</profileActive>
            </properties>
        </profile>
    </profiles>

在profile中指定dev环境为默认生效的环境配置。

在application.yml文件中修改:

spring:
  profiles:
    active: @profileActive@

4.springboot启动注解

springboot由@SpringBootApplication启动。

@SpringBootApplication是一个复合注解,包括元注解和@ComponentScan,和@SpringBootConfiguration,@EnableAutoConfiguration。

4.1元注解

@Target、@Retention、@Documented、@Inherited

@Target:用于设定注解范围,即注解可以用在什么地方

@Retention:定义了被它注解了的注解可以保留多久

其中的属性:

source:注解只保留在源文件,当Java文件编译成class文件的时候,注解被遗弃;被编译器忽略

class:注解被保留到class文件,但jvm加载class文件时候被遗弃,这是默认的生命周期

runtime:注解不仅被保存到class文件中,jvm加载class文件之后,仍然存在

生命周期:runtime>class>source

@Documented:表明这个注解应该被 javadoc工具记录. 默认情况下,javadoc是不包括注解的. 但如果声明注解时指定了 @Documented,则它会被 javadoc 之类的工具处理, 所以注解类型信息也会被包括在生成的文档中,是一个标记注解,没有成员。

@Inherited:如果一个类用上了@Inherited修饰的注解,那么其子类也会继承这个注解。

4.2@SpringBootConfiguration

SpringBootConfiguration与Spring中的@Configuation的作用基本一致,只不过@SpringBootConfiguration是springboot的注解,而@Configuration是spring的注解。@Configuration等价于<Beans></Beans>

4.3@EnableAutoConfiguration

自动扫描装配,扫描加载项目以外的bean,即pom文件中依赖的jar中的bean。

4.4@ComponentScan

用于类或接口上主要是指定扫描路径,spring会把指定路径下带有指定注解的类注册到IOC容器中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cqq00

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值