前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微服务架构之Spring Boot(十三)

微服务架构之Spring Boot(十三)

作者头像
用户1289394
发布2022-04-07 19:55:49
3200
发布2022-04-07 19:55:49
举报
文章被收录于专栏:Java学习网

16.1逐步更换自动配置

自动配置是非侵入性的。在任何时候,您都可以开始定义自己的配置以替换自动配置的特定部分。例如,如果添加自己的 DataSource bean,

则默认的嵌入式数据库支持会退回。

如果您需要了解当前正在应用的自动配置以及原因,请使用 --debug 开关启动您的应用程序。这样做可以为选择的核心记录器启用调试日志,并

将条件报告记录到控制台。

16.2禁用特定的自动配置类

如果发现正在应用您不需要的特定自动配置类,则可以使用 @EnableAutoConfiguration 的exclude属性禁用它们,如以下示例所示:

import org.springframework.boot.autoconfigure.*;

import org.springframework.boot.autoconfigure.jdbc.*;

import org.springframework.context.annotation.*;

@Configuration

@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})

public class MyConfiguration {

}

如果类不在类路径上,则可以使用注释的 excludeName 属性并指定完全限定名称。最后,您还可以使用 spring.autoconfigure.exclude 属

性控制要排除的自动配置类列表。

您可以在注释级别和使用属性定义排除项。

17. Spring Beans和依赖注入

您可以自由使用任何标准Spring框架技术来定义beans及其注入的依赖项。为简单起见,我们经常发现使用 @ComponentScan (找到你的

beans)和使用 @Autowired (做构造函数注入)效果很好。

如果按照上面的建议构建代码(在根包中定位应用程序类),则可以添加 @ComponentScan 而不带任何参数。您的所有应用程序组件

( @Component , @Service , @Repository , @Controller 等)都会自动注册为Spring Beans。

以下示例显示了 @Service Bean,它使用构造函数注入来获取所需的 RiskAssessor bean:

package com.example.service;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Service;

@Service

public class DatabaseAccountService implements AccountService {

private final RiskAssessor riskAssessor;

@Autowired

public DatabaseAccountService(RiskAssessor riskAssessor) {

this.riskAssessor = riskAssessor;

}

// ...

}

如果bean有一个构造函数,则可以省略 @Autowired ,如以下示例所示:

@Service

public class DatabaseAccountService implements AccountService {

private final RiskAssessor riskAssessor;

public DatabaseAccountService(RiskAssessor riskAssessor) {

this.riskAssessor = riskAssessor;

}

// ...

}

请注意使用构造函数注入如何将 riskAssessor 字段标记为 final ,表示无法随后更改它

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java学习网 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档