版权声明:本文为 小异常 原创文章,非商用自由转载-保持署名-注明出处,谢谢!
本文网址:https://blog.csdn.net/sun8112133/article/details/103189643
一、@ImportResource注解
在 Spring Boot 项目中,我们不需要再配置 Spring等配置文件,因为 Spring Boot 会默认自动配置好。
如果我们自己写好了 Spring等配置文件,Spring Boot 默认是不能识别的。如果需要识别,就需要在 Spring Boot 主配置类上 通过 @ImportResource注解 指定配置文件的路径。
// 加载在类路径下的 spring.xml 文件(也就是在resource目录中)
@ImportResource(locations = {"classpath:spring.xml"})
@SpringBootApplication
public class HelloWorldApplication {
...
}
注: 虽然 Spring Boot 提供了加载配置文件的方法,但是不推荐我们手写 Spring配置文件 。因为在当前注解的方式非常流行也很便捷,Spring Boot 官网也更推荐使用注解的方式进行配置。(两种配置方式:XML配置文件、通过注解配置)
二、配置类
配置类 是 Spring Boot 更推荐的形式,如果想写一个 配置类 需要借助两个注解——@Configuration注解 和 @Bean注解。
配置类 就相当于以前的 Spring配置文件(spring.xml)。
// 代码示例
@Configuration // 表示 AppConfig类 是一个配置类
public class AppConfig {
@Bean // 表示 此方法注入到 Spring容器 中
public StudentService studentService() { // 方法名 ==> <bean id="xxx">
StudentService studentService = new StudentService();
return studentService; // 返回值 ==> <bean class="xxx">
}
}
注: 上面的 AppConfig类 就相当于我们之前在配置文件中写的下列代码, AppConfig类 的方法名就是下列代码中的 id
,返回值就是下列代码中的 class
。
<bean id="studentService" class="com.example.HelloWorld.service.StudentService">
</bean>
三、占位符表达式
占位符表达式 就是上一章节说的 SpEL表达式,它的使用范围是在 配置文件(properties/yml) 中。
1、随机数
${random.uuid}
: 表示 UUID。${random.value}
:表示随机字符串。${random.int}
:表示随机整型数。${random.long}
:表示随机长整型数。${random.int(10)}
:表示10以内的整型数。${random.int[1024,65536]}
:表示指定随机数范围。
2、引用变量值(key)
我们也可以在配置文件中引用其他配置文件中变量值,但是注意只能引用已经加载的配置文件中的变量值。
- 基本格式:
${已经加载的配置文件中的变量值:默认值}
注: 如果在已经加载的配置文件中找不到对应的变量值,则使用默认值(冒号后面的)。
3、示例
student:
email: [email protected]
uname: ${student.user.name} # 引用已经加载的配置文件中的变量值
user-name: ${student.user.name1:张三} # 如果找不到,则使用默认值“张三”
age: ${random.int} # 随机整型