zoukankan      html  css  js  c++  java
  • SpringBoot基础入门

    1.SpringBoot核心相关内容

    1.1入口类

    SpringBoot通常有一个入口类*Application,内部有一个main方法,是启动SpringBoot的入口。使用@SpringBootApplication注解,并包含main方法。

    1.2常见注解

    @SpringBootApplication 是SpringBoot的核心注解,用于标注程序时一个SpringBoot程序。它是一个组合注解,由多个注解组合而成。

      @SpringBootApplication=@ComponentScan+@Configuration+@EnableAutoConfiguration

    @SpringBootConfiguration 一个组合注解,相当于传统的xml配置文件,包含@Configuration注解。在Spring Boot项目中推荐使用

      @SpringBootConfiguration替代@Configuration。

    @EnableAutoConfiguration 启用自动配置,该注解会使Spring Boot根据项目中依赖的jar包自动配置项目的配置项,这也是

      springboot 的核心注解之一,我们只需要将项目需要的依赖包加入进来,它会自动帮我们配置这个依赖需要的基本配置。比如我们的项

      目引入了spring-boot-starter-web依赖,springboot 会自动帮我们配置tomcat 和 springmvc。

    @ComponentScan组件扫描,可发现和自动装配一些bean。默认扫描@SpringBootApplication类所在包的同级目录及它的子目录

      设置不自动装配:

      @SpringBootApplication(exclude = {JpaRepositoriesAutoConfiguration.class, RedisAutoConfiguration.class})

      注解内部将不需要自动配置的依赖通过exclude参数指定即可,可以指定多个类

    @Bean: 注解在方法上,声明当前方法返回一个Bean

    @PostConstruct:注解在方法上,构造函数执行后执行。

    @PreDestroy: 注解在方法上,在Bean销毁前执行。
    @Lazy(true):  延迟初始化

    @Scope:注解在类上,描述spring容器如何创建Bean实例。
    @Profile:注解在方法类上 在不同情况下选择实例化不同的Bean 特定环境下生效

    @Import:用来导入其他配置类。

    @ImportResource:用来加载xml配置文件。

    2.核心配置文件

    2.1yml和properties

    SpringBoot使用一个全局配置文件application.properties或者application.yml。properties配置文件见附件。

    yml类似于xml,但是yml没有xml中的 标签,而是通过空格来表示层级结构:

    #相当于 properties 中的server.port=80

    server:
      port: 80

    #代表 spring.jpa.下面的属性 每个:之后的代表当前属性下的属性

    spring:
      jpa:
        generate-ddl: false
        show-sql: true
        hibernate:
          ddl-auto: update
        database: mysql

    SpringBoot的配置文件可以放在以下几个地方:

    外置,在相对于应用程序运行目录的/congfig子目录里。(resources/config)

    外置,在应用程序运行的目录里(resources)

    内置,在config包

    内置,在Classpath根目录

    这个列表按照优先级排序,也就是说,src/main/resources/config下application.properties覆盖src/main/resources下application.properties中相同的属性

    如果在相同优先级位置同时有application.properties和application.yml,那么application.properties里的属性里面的属性就会覆盖application.yml

    如果自己定义了其它的配置文件,如test.properties,可以使用@PropertiesSource注解指定加载配置文件。

    @PropertySource("classpath:test.properties")

    2.2profile多环境配置

    当应用程序需要部署到不同运行环境时,一些配置细节通常会有所不同,最简单的比如日志,生产日志会将日志级别设置为WARN或更高级别,并将日志写入日志文件,而开发的时候需要日志级别为DEBUG,日志输出到控制台即可。

    如果按照以前的做法,就是每次发布的时候替换掉配置文件,这样太麻烦了,Spring Boot的Profile就给我们提供了解决方案,命令带上参数就搞定。

    切换的配置文件必须符合application-xx的命名,其中xx和application.properties中指定的属性值对应,在application.properties中进行如下配置,系统将会使用application-dev.properties中的配置:

    spring.profiles.active=dev
  • 相关阅读:
    智能家居项目(3):编译工具makefile
    9、Cocos2dx 3.0游戏开发找小三之工厂方法模式与对象传值
    Redis于windows在安装
    Gray Code -- LeetCode
    hdu 1575 Tr A(矩阵高速电源输入)
    phpstorm快捷键
    Reverse Linked List II -- LeetCode
    程序猿的故事-注定奉献给节目
    poj2112 Optimal Milking --- 最大流量,二分法
    POJ 3356 AGTC(最长公共子)
  • 原文地址:https://www.cnblogs.com/sueyyyy/p/9519197.html
Copyright © 2011-2022 走看看