Spring boot简述(待续)

一、 Spring boot:
Spring boot出现之后,得益于“习惯优于配置”这个理念,再也没有繁琐的配置、难以集成的内容(大多数流行第三方技术都被集成在内)。 那么背后实现的核心原理到底是什么呢? 其实是spring 4.x提供的基于条件配置bean的能力。
1、没有配置、没有web.xml、没有构建说明,甚至没有应用服务器;只要你搞定后台代码就ok;
2、SpringBoot的四个核心:
      自动配置:
      起步依赖:告诉它需要什么功能,它就引入需要的库;比如web起步依赖、jpa起步依赖等;
      命令行界面:可选功能;
      Actuator
3、自动配置说明
     3.1 自动配置可以被覆盖
     3.2  SpringBoot的设计是先加载应用级配置,再考虑自动配置;
     3.3 SpringBoot是基于条件化注解的
      如:@ConditionalOnBean   条件表示判断是否配置了某个特定的bean,条件成立才会执行被 @ConditionalOnBean标注的类的方法,否则忽略;

     3.4     prefix(前缀形式)        eg:@ConfigurationProperties(prefix="amazon")/ @ConfigurationProperties("amazon")这样的配置会自动去配置文件(applcation.properyies/ applcation.yarm )匹配带有 amazon前缀的属性,如:amazon.associateId=20,表示给带有 amazon配置bean的associateId属性赋值
    3.5  使用Profile配置( Profile是一种条件话配置 )
     作用:当程序需要部署到不同环境运行时(如正式环境和测试环境),有些Bean或者配置类可能在测试环境用不到配置的类,只在正式环境用,因为要用的环境需要运行时激活Profile;如果没有激活就会忽略该配置,而使用自动配置的安全配置;
 eg: @Profile("production")
         @configuration
      public class SecurityConfig{}


  3.5.1 可以使用特定的Profile的属性文件
如果你正在使用 applcation.properyies,可以创建额外的属性文件,需要遵循 applcation-{Profile}.properyies这种命名格式,{Profile}为注解可以为@Profile("production")中的production
1/applcation.properyies 配置:Spring.profiles.active=production激活 production Profile
2/applcation.yml配置如下:
spring:
    profiles:
             active:production
3.5.2 使用多Profile Yaml文件进行配置
既然用了yaml就可以将所有profile放在一个application.yml文件中,例如:
logging:
     level:
         root:INFO
---
spring:
       profiles:development
  logging:
     level:
         root:DEBUG
---
spring:
       profiles:production
  logging:
      path:/tmp
      file:Book.log
     level:
         root:WARN
第二段和第三段分别为spring.profiles指定一个值,这个值表示该部分应该应用在哪个Profile里,第二段中属性应用于开发环境,因为spring.profiles设置为 development。
另一方面,第一段并未指定spring.profiles,因此这里的属性对全部Prifile或者对那些未设置该属性的激活Profile生效;

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值