Spring5_新功能

Spring5新增功能

整合日志框架

  1. 整个Spring5基于java8,运行时兼容jdk9,许多不建议添加的方法和类从框架中删除了

  2. Spring5框架了自带了通用的日志封装

    • Spring5已经移除了Log4jConfigListener,官方建议使用Log4j2

    • Spring5框架整合Log4j2

    • 步骤:

      1. 导入依赖jar包
      image.png
      1. 创建Log4j2.xml配置文件(名称固定)

      2. 配置文件中内容基本固定,直接copy

         <?xml version="1.0" encoding="UTF-8"?>
           <!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL -->
           <!--Configuration后面的status用于设置log4j2自身内部的信息输出,可以不设置,当设置成trace时,可以看到log4j2内部各种详细输出-->
           <configuration status="INFO">
            <!--先定义所有的appender-->
            <appenders>
            <!--输出日志信息到控制台-->
            <console name="Console" target="SYSTEM_OUT">
            <!--控制日志输出的格式-->
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
            </console>
            </appenders>
            <!--然后定义logger,只有定义了logger并引入的appender,appender才会生效-->
            <!--root:用于指定项目的根日志,如果没有单独指定Logger,则会使用root作为默认的日志输出-->
            <loggers>
            <root level="info">
            <appender-ref ref="Console"/>
            </root>
            </loggers>
           </configuration>

最高级别all 一般使用debug 或者info

  1. 也可以通过main方法来使用
image.png

Nullable注解

  1. Spring5框架核心容器支持@Nullable注解

  2. @Nullable注解可以使用在方法上面 属性上面 参数上面,

    表示方法返回值可以为空,属性值可以为空,参数值可以为空

  3. 注解用在方法上面

    表示方法的返回值可以为空

  4. 注解用在方法参数上

    表示方法参数可以为空

  5. 注解使用在属性上面

    表示属性的值可以为空


函数式注册对象GenericApplicationContext

在Spring中注册新对象,函数式创建对象交给SPring管理

  1. 创建GenericApplicationContext对象

  2. 调用context方法对象的注册

    context.refresh(); 表示把容器清空进行注册

    context.registerBean(User.class,()->new User()); 注册对象

  3. 获取在Spring中的对象,name不是类名首字母小写

    context.getBean("全路径类名");

    或者在注册对象时使用名称命名,这里name才可以使用注册时的name否则不注册名称无法使用,只能用全路径类名


测试方面的改进(JUnit5)

  1. 整合JUnit4

    1. 第一步引入Spring相关针对测试的依赖(spring test jar包)

    2. 创建测试类,使用注解方式完成测试过程

      • @RunWith(SpringJUnit4ClassRunner.class)括号内为JUnit单元测试的版本

      • @ContextConfiguration("classpath:bean1.xml")加载配置文件

      • @Autowired 注入service对象

      • @Test测试,调用service的方法

  2. 整合JUnit5

    1. 第一步引入JUnit5依赖jar包
    image.png
    1. 第二步 创建测试类 使用注解完成测试

    2. 注解:

      • @ExtendWith(SpringExtension.class)

      • @ContextConfiguration("classpath:bean1.xml")

      • @Autowired 注入属性service对象

      • @Test 使用service方法

      • 复合注解@SpringJUitConfig(locatiopn = "classpath:bean1.xml") 等同于 @ExtendWith和@ContextConfiguration

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容