Spring读取配置文件获取容器,通过容器获得javaBean演示
1.创建一个空项目


配置项目JDK

新建module

选择Maven项目

注意路径

pom.xml文件
- <?xml version="1.0" encoding="UTF-8"?>
- <project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <groupId>com.hrui</groupId>
- <artifactId>001-springboot-pre</artifactId>
- <version>1.0.0</version>
-
- <!--spring框架-->
- <dependencies>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-context</artifactId>
- <version>5.3.23</version>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.13.2</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.projectlombok</groupId>
- <artifactId>lombok</artifactId>
- <version>RELEASE</version>
- <scope>compile</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <!-- 编译插件 -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <!-- 插件的版本 -->
- <version>3.8.1</version>
- <!-- 编译级别 -->
- <configuration>
- <source>1.8</source>
- <target>1.8</target>
- <!-- 编码格式 -->
- <encoding>UTF-8</encoding>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </project>
新建实体类

配置配置文件,以读取.xml的方式去获取bean

测试获取bean
下面用JavaConfig的方式(就是以配置类的方式来获取容器,获得bean)
javaConfig:使用java类作为.xml配置文件的替代.这个java类可以创建java对象,把对象放进容器中
需要两个注解:
@Configuration:放在一个类上面,表示这个类是个配置类.
@Bean:声明对象,把对象注入到容器中.
注意:通过@Bean来获取对象,bean的名字默认是方法名 即原先.xml里配的id

通过@Bean(name="xxxx")指定名字的方式

这样就取代了通过.xml来获得容器
另外还有种方式,即通过.xml配置文件,java类配置的方式
@ImportResource注解
创建个.xml配置文件
现在的需求是即需要通过Java类配置的对象,也需要.xml里配置的对象
如果获取呢?就是通过@ImportResource

@ImportResource注解
学习Spring 用配置文件的时候,有个包扫描
变成注解就是@ComponentScan(value="xxxx")指定扫描的包路径
创建一个类Teacher加上注解@Component 是Spring的通用注解,意思该类对象交给Spring容器管理,默认的bean名字是首字母小写

然后在配置文件上加上@ComponentScan(value="xxxx")指定扫描的包路径 相当于原先.xml里的包扫描
成功获取了teacher对象

下面介绍另外一个注解:
@PropertyResource
@PropertyResource是用来读取Properties配置文件的
properties文件是Key=Value的模式
创建一个.properties文件

加上@PropertyResource是用来读取Properties配置文件的
teacher就有值了
