• springboot初学


    一、springboot的常用注解

    1. @Configuration注解相当于spring里面的一个xml配置文件bean.xml,一般注解在类的头上

    <beans>
        
    </beans>

      @Configuration注解的配置类有如下要求:@Configuration不可以是final类型;@Configuration不可以是匿名类;嵌套的configuration必须是静态类;

    2.  @Bean 相当于在xml中配置了一个bean,一般标记在方法上

    <bean id="" class=""></bean>

    3. @Import 相当于在xml中添加如下:

    <import resource=""/>

    4.@SpringBootApplication注解:是springboot应用的主程序标志,是一个组合的注解,包括如下两个个注解:@ComponentScan、@EnableConfiguration

      @ComponentScan注解:就是扫描所标注的类所在包下的所有需要注入的组件,将其注入应用中去。在ssm框架中的配置如下图

      @EnableConfiguration注解:自动装配。获取我们注解所在包下的组件去进行注册(@AutoConfigurationPackage);装配自动配置导入选择器(@Import({AutoConfigurationImportSelector.class}));

    5. @Qualifier    当IOC容器里面有相同的多个对象时,可以使用@Qualifier来指定合格者[要取哪个一个对象]

    6. @Validated  验证处理  @Value读取配置文件进行数据绑定 @ConfigurationProperties批量注入配置文件中的属性

    7.@PropertySource用于不在application.properties或application.yml文件中写的相关配置

     8.@ImportantResource 从上面所有的配置中可以看出我们没有使用以前的spring的xml的配置方法,如果还是要使用spring里面的xml的配置方式怎么办理,使用@ImportResource

    9.@Component和@Bean区别:(参考:https://www.jianshu.com/p/3fbfbb843b63

    1)@Component注解表明一个类会作为组件类,并告知Spring要为这个类创建bean,@Component(@Controller、@Service、@Repository)通常是通过类路径扫描来自动侦测以及自动装配到Spring容器中。

     2)@Bean注解告诉Spring这个方法将会返回一个对象,这个对象要注册为Spring应用上下文中的bean。通常方法体中包含了最终产生bean实例的逻辑,并且实例名就是方法名。

    10. 配置文件加载的优先级

    spring boot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件

    其中同一目标下的properties文件的优先级大于yml文件

    以上是按照优先级从高到低的顺序,所有位置的文件都会被加载,高优先级配置内容会覆盖低优先级配置内容。

    SpringBoot会从这四个位置全部加载主配置文件,如果高优先级中配置文件属性与低优先级配置文件不冲突的属性,则会共同存在—互补配置。

    我们可以从ConfigFileApplicationListener这类便可看出,其中DEFAULT_SEARCH_LOCATIONS属性设置了加载的目录:

    11.外部配置文件加载

    使用配置文件的路径我们也可以通过配置spring.config.location来改变默认配置。

    项目打包好以后,我们可以使用命令行参数的形式,启动项目的时候来指定配置文件的新位置。

    指定配置文件和默认加载的这些配置文件共同起作用形成互补配置。

    使用命令行参数。所有的配置都可以在命令行上进行指定;多个配置用空格分开; –配置项=值

    使用命令行参数

  • 相关阅读:
    redis 数据类型 Hash
    redis有序集合类型sort set
    redis数据类型set
    redis的 list
    redis的key
    centos安装redis
    input聚焦事件
    width(),innerWidth(),outerWidth(),outerWidth(true)
    jq 选择器
    详解CSS中:nth-child的用法_大前端
  • 原文地址:https://www.cnblogs.com/Fantastic-Code/p/11592380.html
Copyright © 2020-2023  润新知