>@PropertySource&@ImportResource&@Bean
@**PropertySource**:加载指定的配置文件;
```java
/**
* 将配置文件中配置的每一个属性的值,映射到这个组件中
* @ConfigurationProperties:告诉SpringBoot将本类中的所有属性和配置文件中相关的配置进行绑定;
* prefix = "person":配置文件中哪个下面的所有属性进行一一映射
*
* 只有这个组件是容器中的组件,才能容器提供的@ConfigurationProperties功能;
* @ConfigurationProperties(prefix = "person")默认从全局配置文件中获取值;
*
*/
@PropertySource(value = {"classpath:person.properties"})
@Component
@ConfigurationProperties(prefix = "person")
//@Validated
public class Person {
/**
* <bean class="Person">
* <property name="lastName" value="字面量/${key}从环境变量、配置文件中获取值/#{SpEL}"></property>
* <bean/>
*/
//lastName必须是邮箱格式
// @Email
//@Value("${person.last-name}")
private String lastName;
//@Value("#{11*2}")
private Integer age;
//@Value("true")
private Boolean boss;
```
@**ImportResource**:导入Spring的配置文件,让配置文件里面的内容生效;
Spring Boot里面没有Spring的配置文件,我们自己编写的配置文件,也不能自动识别;
想让Spring的配置文件生效,加载进来;@**ImportResource**标注在一个配置类上
```java
@ImportResource(locations = {"classpath:beans.xml"})
导入Spring的配置文件让其生效
```
不来编写Spring的配置文件
```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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="helloService" class="com.atguigu.springboot.service.HelloService"></bean>
</beans>
```
SpringBoot推荐给容器中添加组件的方式;推荐使用全注解的方式
1、配置类**@Configuration**------>Spring配置文件
2、使用**@Bean**给容器中添加组件
```java
/**
* @Configuration:指明当前类是一个配置类;就是来替代之前的Spring配置文件
*
* 在配置文件中用<bean><bean/>标签添加组件
*
*/
@Configuration
public class MyAppConfig {
//将方法的返回值添加到容器中;容器中这个组件默认的id就是方法名
@Bean
public HelloService helloService02(){
System.out.println("配置类@Bean给容器中添加组件了...");
return new HelloService();
}
}
```
- Spring Boot 入门
- Spring Boot 简介
- 微服务
- 环境准备
- MAVEN设置
- IDEA设置
- Spring Boot HelloWorld
- 创建一个maven工程;(jar)
- 导入spring boot相关的依赖
- 编写一个主程序;启动Spring Boot应用
- 编写相关的Controller、Service
- 运行主程序测试
- 简化部署
- Hello World探究
- POM文件
- 父项目
- 启动器
- 主程序类,主入口类
- 使用Spring Initializer
- IDEA使用 Spring Initializer
- STS使用 Spring Starter Project快速创建项目
- 配置文件
- 配置文件
- YAML语法
- 基本语法
- 值的写法
- 普通的值(数字,字符串,布尔)
- 对象、Map(属性和值)(键值对)
- 数组(List、Set)
- 配置文件值注入
- 其他问题
- properties配置文件在idea中默认utf-8可能会乱码
- @Value获取值和@ConfigurationProperties获取值比较
- 配置文件注入值数据校验
- @PropertySource&@ImportResource&@Bean
- 配置文件占位符
- 随机数
- 占位符获取之前配置的值
- Profile
- 多Profile文件
- yml支持多文档块方式
- 激活指定profile
- 配置文件加载位置
- 外部配置加载顺序
- 自动配置原理
- 自动配置原理
- 细节
- @Conditional派生注解(Spring注解版原生的@Conditional作用)
- 日志
- 日志框架
- SLF4j使用
- 如何在系统中使用SLF4j
- 遗留问题
- SpringBoot日志关系
- 日志使用
- 默认配置
- 指定配置
- 切换日志框架
- Web开发
- 简介
- SpringBoot对静态资源的映射规则
- 模板引擎
- 引入thymeleaf
- Thymeleaf使用
- 语法规则
- SpringMVC自动配置
- Spring MVC auto-configuration
- 扩展SpringMVC
- 全面接管SpringMVC
- 如何修改SpringBoot的默认配置
- RestfulCRUD
- 默认访问首页
- 国际化
- 登陆
- 拦截器进行登陆检查
- CRUD-员工列表
- thymeleaf公共页面元素抽取
- CRUD-员工添加
- CRUD-员工修改
- CRUD-员工删除
- 错误处理机制
- SpringBoot默认的错误处理机制
- 如果定制错误响应
- 如何定制错误的页面
- 如何定制错误的json数据
- 将我们的定制数据携带出去
- 配置嵌入式Servlet容器
- 如何定制和修改Servlet容器的相关配置
- 注册Servlet三大组件【Servlet、Filter、Listener】
- 替换为其他嵌入式Servlet容器
- 嵌入式Servlet容器自动配置原理
- 嵌入式Servlet容器启动原理
- 使用外置的Servlet容器
- 步骤
- 原理
- Docker
- 简介
- 核心概念
- 安装Docker
- 安装linux虚拟机
- 在linux虚拟机上安装docker
- Docker常用命令&操作
- 镜像操作
- 容器操作
- 安装MySQL示例
- SpringBoot与数据访问
- JDBC
- 整合Druid数据源
- 整合MyBatis
- 注解版
- 配置文件版
- 整合SpringData JPA
- SpringData简介
- 整合SpringData JPA
- 启动配置原理
- 创建SpringApplication对象
- 运行run方法
- 事件监听机制
- 自定义starter