本文概览:介绍了xml和properties两种文件

1 xml文件

1.1 @Configuration介绍

Spring boot一个目的就是消除xml文件,之前在spring中使用xml配置<bean>。现在可以使用@Configuration对应一个xml文件,如下一个spring的xml文件:

在xml中还有一些<bean>等属性节点,对于@Configuration,这些属性也有对应的注解,如下:

1.1.1 @Bean

代替<bean>节点,也具有name、init、destryMethod属性。如果依赖外部类,如在xml中

在使用@Configuration时可以通过如下,其中@Qualifier指定加载的bean的name。

1.1.2 @Scope

@Scope代替<bean>中scope的属性

1.1.3 @ComponentScan

代替<context:component-scan base-package=”com.service” />

1.1.4 @ImportResource 和 @Import

1、@ImportResource

为了在spring boot引入spring xml,实现<import resource=”..” />

2、@Import

为了导入使用了@Configuration的类,用于整合@Configuration标记的配置类,类似在xml中通过<import resource=”..” />引入其他的bean的xml文件。

3、@Import 和 @ImprtResource

@Import引入是配置类(.class文件);@ImportResource引入的是xml文件

1.2 实例

如下

85613052

1、具有注解@Servcie的类

(1)BizDemo

(2)ServcieDemo

2、没有使用@Service,通过类似<bean>在xml方式定义对象

(1)CommonDemo,默认构造函数

(2)ConstructDemo,有构造函数

3、xml文件

假设有两个配置文件类FirstXml和SecondXml。

(1)FirstXml

(2)Second.xml

4、执行main

 

2 porperties属性文件

包括propertis中导入和获取两部分。

2.1 导入配置文件

2.1.1 @PropertySource

在xml中通过如下方式导入propertis

在使用@Configuration代替xml时,可以通过@PropertySource来导入

2.1.2 其他导入方式

2.1.2.1 命令行

通过“–parName=xxx”来指定属性key和value,如下

2.1.2.2 java命令

通过java命令的-D参数

-D<propertyName>=value

举例如:

2.1.2.3 spring boot 默认配置文件

spring boot自带的属性文件:application.properties或application.yml。

2.1.2.4 apollo

还可以通过apollo来管理配置文件

2.2 获取属性值

在xml中可以通过”${xxx}”获取到properties中值。

在使用@Configuration代替xml时,可以通过@Value(“${xx}”) 和@ConfigurationProperties来获取配置文件中值。

2.2.1 @Value(“${xx}”)

使用举例如下

2.2.2 @ConfigurationProperties

1、定义@Bean上使用@ConfigurationProperties,如下

PropertyDemo如下:

test.properties中值为

2、在测试时,必须启动spring boot才可以,不能通过如下main来启动,否则@ConfigurationProperties不生效

由于@ConfigurationProperties属性是spring boot包才有的,所以必须启动spring boot之后才会生效。则可以通过在如下Controller中使用,然后启动spring boot来测试

3 Maven环境配置

1、新增配置文件

如下一个项目的目录,在deploy目录下保存dev和prod两套环境,这里配置文件名称使用application.properties,这样springboot默认可以自动加载这个配置文件。

81852022

2、在pom.xml文件中进行配置

需要注意:

  • 在<resouce>中必须加上 <directory>src/main/resources</directory>

3、本地执行

(1)首先选择dev。然后执行刷新(一定要执行此刷新操作,否则dev不生效

82249921

(2)添加一个spring boot应用并配置 入口main,如下。然后就可以启动啦
b559693d-ebcb-49a9-871c-55b159400e4d

(全文完)

分类&标签