Spring之Config小結
Spring配置資訊
所有的Spring Bean資訊都是定義在Config檔案或者Configuration的配置類中的。
例如:
@Configuration
public class AppConfig {
@Bean
public MyBean myBean() {
return new MyBean();
}
}
引入配置
在Configuration註解的配置類中,還可以繼續引入其他的配置類或者配置檔案。本小節將對其中做總結分析。
@Import(XXXConfig.class)
使用說明:
後面跟隨的是Java Config class,等同於配置檔案宣告瞭一個Bean.
@Configuration
public class AnotherConfig {
@Bean
public AnotherBean anotherBean() {
return new AnotherBean();
}
}
-------------------------------
@Configuration
@Import(AnotherConfig.class)
public class AppConfig {
@Bean
public MyBean myBean() {
return new MyBean();
}
}
<beans>
<bean name="myBean" class="com.xx.xxx.MyBean" />
</beans>
@ImportSource(“classpath:xxx-spring-bean.xml”)
其功能等同於引入了一個Spring bean的定義檔案。其在實際使用中,等同於在配置檔案中:
<import resource="spring-bean.xml" />
例如:
@Configuration
@ImportSource("classpath:spring-bean.xml")
public class AppConfig {
@Bean
public MyBean myBean() {
return new MyBean();
}
}
spring-bean.xml的定義如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:c="http://www.springframework.org/schema/c"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
">
<bean id="anotherBean"
class="com.xxx.xxx.AntherBean">
</bean>
</beans>
其相當於在AppConfig配置Bean中引入了AnotherBean的宣告與定義。
總結
在Spring中可以支援基於配置檔案和基於註解的Bean宣告與引入。同時支援以下形式的Bean宣告與載入:
- 在配置檔案中巢狀配置檔案
- 在註解中巢狀配置註解
- 在註解中巢狀配置檔案的引入。
相關文章
- Spring之RestTemplate使用小結SpringREST
- Spring Boot系列(四) Spring Cloud 之 Config ClientSpring BootCloudclient
- Spring Cloud專題之五:configSpringCloud
- Spring Cloud 之 Config與動態路由.SpringCloud路由
- 180813-Spring之RestTemplate使用小結一SpringREST
- Spring之RequestBody的使用姿勢小結Spring
- 微服務SpringCloud之Spring Cloud Config配置中心Git微服務SpringGCCloudGit
- Spring Cloud(二):Spring Cloud ConfigSpringCloud
- Spring 小總結Spring
- Spring Cloud Config 規範SpringCloud
- spring cloud config 整合svnSpringCloud
- Spring security config httpSecurity tipsSpringHTTP
- Spring Cloud Config 配置中心SpringCloud
- Spring歸納小結Spring
- Spring Boot之DAO層的單元測試小結Spring Boot
- Spring Cloud Gateway實戰之四:內建predicate小結SpringCloudGateway
- spring cloud config 原始碼分析SpringCloud原始碼
- Spring Cloud Config伺服器SpringCloud伺服器
- spring cloud分散式微服務:Spring Cloud ConfigSpringCloud分散式微服務
- Python 日誌列印之logging.config.dictConfig使用總結Python
- Spring Cloud Config-Git後端SpringCloudGit後端
- Spring Cloud Config 實現配置中心SpringCloud
- Spring Cloud Config客戶端使用SpringCloud客戶端
- Spring Cloud Config原碼篇(十)SpringCloud
- Spring Cloud Config應用篇(九)SpringCloud
- 使用HazelCast實現Spring Config Server配置ASTSpringServer
- 為Spring Cloud Config插上管理的翅膀SpringCloud
- java 教程 Spring Cloud Config環境庫JavaSpringCloud
- 非spring boot (即spring) 使用/整合 Spring cloud Config 分散式配置中心Spring BootCloud分散式
- Spring MVC之基於java config無xml配置的web應用構建SpringMVCJavaXMLWeb
- 小代學Spring Boot之整合MyBatisSpring BootMyBatis
- Spring Cloud雲架構-Config Git後端SpringCloud架構Git後端
- Spring cloud config 使用gitHub或者gitee連線SpringCloudGithubGitee
- Spring Cloud Config 分散式配置中心【Finchley 版】SpringCloud分散式
- Spring Cloud Config Client 超時與重試SpringCloudclient
- .NET Core微服務之基於Steeltoe使用Spring Cloud Config統一管理配置微服務SpringCloud
- Spring Cloud(八)高可用的分散式配置中心 Spring Cloud ConfigSpringCloud分散式
- Spring Cloud實戰系列(六) - 分散式配置中心Spring Cloud ConfigSpringCloud分散式