SpringBoot入门学习笔记六(@ImportResource注解、配置类、占位符表达式)

版权声明:本文为 小异常 原创文章,非商用自由转载-保持署名-注明出处,谢谢!
本文网址: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}   # 随机整型


博客中若有不恰当的地方,请您一定要告诉我。前路崎岖,望我们可以互相帮助,并肩前行!



发布了166 篇原创文章 · 获赞 169 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/sun8112133/article/details/103189643