• Spring读取.xml和通过Java类配置对比


    Spring读取配置文件获取容器,通过容器获得javaBean演示

    1.创建一个空项目

     

     配置项目JDK

     新建module

     选择Maven项目

     注意路径

    pom.xml文件

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <project xmlns="http://maven.apache.org/POM/4.0.0"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    5. <modelVersion>4.0.0</modelVersion>
    6. <groupId>com.hrui</groupId>
    7. <artifactId>001-springboot-pre</artifactId>
    8. <version>1.0.0</version>
    9. <!--spring框架-->
    10. <dependencies>
    11. <dependency>
    12. <groupId>org.springframework</groupId>
    13. <artifactId>spring-context</artifactId>
    14. <version>5.3.23</version>
    15. </dependency>
    16. <dependency>
    17. <groupId>junit</groupId>
    18. <artifactId>junit</artifactId>
    19. <version>4.13.2</version>
    20. <scope>test</scope>
    21. </dependency>
    22. <dependency>
    23. <groupId>org.projectlombok</groupId>
    24. <artifactId>lombok</artifactId>
    25. <version>RELEASE</version>
    26. <scope>compile</scope>
    27. </dependency>
    28. </dependencies>
    29. <build>
    30. <plugins>
    31. <!-- 编译插件 -->
    32. <plugin>
    33. <groupId>org.apache.maven.plugins</groupId>
    34. <artifactId>maven-compiler-plugin</artifactId>
    35. <!-- 插件的版本 -->
    36. <version>3.8.1</version>
    37. <!-- 编译级别 -->
    38. <configuration>
    39. <source>1.8</source>
    40. <target>1.8</target>
    41. <!-- 编码格式 -->
    42. <encoding>UTF-8</encoding>
    43. </configuration>
    44. </plugin>
    45. </plugins>
    46. </build>
    47. </project>

     新建实体类

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

    测试获取bean

     

    下面用JavaConfig的方式(就是以配置类的方式来获取容器,获得bean)

    javaConfig:使用java类作为.xml配置文件的替代.这个java类可以创建java对象,把对象放进容器中

    需要两个注解:

    @Configuration:放在一个类上面,表示这个类是个配置类.

    @Bean:声明对象,把对象注入到容器中.

    注意:通过@Bean来获取对象,bean的名字默认是方法名 即原先.xml里配的id

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

    这样就取代了通过.xml来获得容器

    另外还有种方式,即通过.xml配置文件,java类配置的方式

    @ImportResource注解

    @ImportResource 是导入 xml 配置,等同于 xml 文件的 resources
    .xml文件需要导入其他.xml文件时候,会用
    创建个实体类

    创建个.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就有值了

     

  • 相关阅读:
    【python】随机模拟——赶火车问题、醉汉回家
    视频修复工具助你完成高质量的视频作品!
    Data Structure, Algorithm,and Applications in C++
    LINUX系统编程:基于环形队列和信号量的生产者消费者模型
    杂谈记录——整数转罗马数字
    vue2.0 监听用户无操作页面停留时长然后弹窗提示
    如何解决找不到msvcr100.dll问题,msvcr100.dll丢失的多种修复方案
    一次 MySQL 误操作导致的事故,「高可用」都顶不住了!
    Jenkins 安装BlueOcean
    30岁软件测试,目前已失业4个月,迷茫不知该怎么办?
  • 原文地址:https://blog.csdn.net/tiantiantbtb/article/details/127894158