当前位置: 首页 > news >正文

【spring】spring5特性

1、整个 Spring5 框架的代码基于 Java8,运行时兼容 JDK9,许多不建议使用的类和方 法在代码库中删除

日志框架

2、Spring 5.0 框架自带了通用的日志封装
(1)Spring5 已经移除 Log4jConfigListener,官方建议使用 Log4j2
(2)Spring5 框架整合 Log4j2
第一步 引入 jar 包
image.png

log4j有安全问题,需要下载2.15版本以上的

第二步 创建 log4j2.xml 配置文件

        <?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>

image.png

@Nullable

(1)@Nullable 注解可以使用在方法上面,属性上面,参数上面,表示方法返回可以为空,属性值可以 为空,参数值可以为空
(2)注解用在方法上面,方法返回值可以为空
Pasted image 20220618160839.png

(3)注解使用在方法参数里面,方法参数可以为空

Pasted image 20220618160819.png

(4)注解使用在属性上面,属性值可以为空

Pasted image 20220618160830.png

函数式风格

//函数式风格创建对象,交给 spring 进行管理  
@Test  
public void testGenericApplicationContext() {  //1 创建 GenericApplicationContext 对象  GenericApplicationContext context = new GenericApplicationContext();  //2 调用 context 的方法对象注册  context.refresh();  context.registerBean("user1",User.class,() -> new User());  //3 获取在 spring 注册的对象  // User user = (User)context.getBean("com.atguigu.spring5.test.User");  User user = (User)context.getBean("user1");  System.out.println(user);  }

JUnit5


@ExtendWith(SpringExtension.class)  
@ContextConfiguration("classpath:bean1.xml")  
public class JTest5 {  @Autowired  private UserService userService;  @Test  public void test1() {  userService.accountMoney();  }  
}  

或者


@SpringJUnitConfig(locations = "classpath:bean1.xml")  
public class JTest5 {  @Autowired  private UserService userService;  @Test  public void test1() {  userService.accountMoney();  }  
}
http://www.lryc.cn/news/27910.html

相关文章:

  • 曹云金回归、于谦电影杀青,德云社想不火都难
  • 从入门到精通:数据库设计规范指南
  • js 求解《初级算法》8.字符串转换整数(atoi)
  • Vue学习笔记(5)
  • LeetCode 面试题 05.02. Binary Number to String LCCI【字符串,数学】中等
  • 数据结构 “串“ 的补充提升与KMP算法及其优化的具体实现
  • 如何使用Spring Cloud搭建MQ(Message Queue)消息队列
  • iphone备忘录删除怎么恢复?分享苹果数据找回办法
  • 【PPT】《我去!还有这种网站?》-知识点目录
  • SQL 将查询结果插入到另一张表中
  • 代码随想录算法训练营day48 | 动态规划 121 买卖股票的最佳时机 122 买卖股票的最佳时机II
  • MediaTek 天玑 8000 5G移动平台详细参数
  • Kafka
  • 数据结构——第三章 栈与队列(2)
  • 【Linux学习】基础IO——理解缓冲区 | 理解文件系统
  • RHCSA-重置root密码(3.3)
  • 无公网IP快解析实现U+随时随地访问
  • UVa 307 Sticks 木棍拼接 ID 迭代加深搜
  • 阿里云(CentOS)中MySQL8忘记密码的解决方法
  • 三、Spring的入门程序
  • 摘录一下Python列表和元组的学习笔记
  • 【量化金融】收益率、对数收益率、年华收益、波动率、夏普比率、索提诺比率、阿尔法和贝塔、最大回撤
  • 1_机器学习概述—全流程
  • VUE中给对象添加新属性时,界面不刷新怎么办
  • 视频号频出10w+,近期爆红的账号有哪些?
  • 企业寄件现代化管理教程
  • django 在网页显示后台进度
  • 机器学习库(Numpy, Scikit-learn)
  • Linux操作系统学习(进程替换)
  • 【C++从入门到放弃】类和对象(中)———类的六大默认成员函数