spring学习二:入门
2.1环境要求
●JDK:java17+(spring6要求JDK最低版本是java17)
●Maven:3.6+
●Spring:6.0.2
2.2构建模块
2.2.1案例演示
(1)新建项目
(2)引入spring相关依赖
(3)按照spring要求创建配置文件(xml格式)
(4)在spring配置文件配置相关信息
(5)进行最终测试
2.2.2案例分析
1.之前创建对象,无参构造是否执行?
答案:执行!
2.不用new方式,还可以如何创建对象
反射:
如何使用反射创建对象:
●加载bean.xml配置文件
●对xml文件进行解析操作
●获取xml文件bean标签属性值
id属性值和class属性值
●使用反射根据类全路径创建对象
3.创建对象放到哪里
Map<String,beanDefinition> beanDefinitionMap
key:唯一标识
value:类的定义(描述信息)
2.3启动log4j2日志框架
2.3.1log4j2概述
1.日志信息的优先级(从低到高):
TRACE:追踪,是最低的日志级别,相当于追踪程序的执行
DEBUG:调试,一般在开发中,都将其设置为最低的日志级别
INFO:信息,输出重要的信息,使用较多
WARN:警告,输出警告的信息
ERROR:错误,输出错误信息
FATAL:严重错误
这些级别分别用来指定这条日志信息的重要程度;级别高的会自动屏蔽级别低的日志,
也就是说,设置了warn的日志,则info,debug的日志级别的日志不会显示。
2.日志信息的输出目的地:
日志信息的输出目的地制定了日志将打印到控制台还是文件中
3.日志信息的输出格式:
输出格式控制了日志信息的显示内容
2.3.2引入log4j2依赖
<!--log4j2的依赖--> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.19.0</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j2-impl</artifactId> <version>2.19.0</version> </dependency>
2.3.3加入日志配置文件
在resources底下创建log4j2.xml文件
内容为:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <loggers> <!-- level指定日志级别,从低到高的优先级: TRACE < DEBUG < INFO < WARN < ERROR < FATAL trace:追踪,是最低的日志级别,相当于追踪程序的执行 debug:调试,一般在开发中,都将其设置为最低的日志级别 info:信息,输出重要的信息,使用较多 warn:警告,输出警告的信息 error:错误,输出错误信息 fatal:严重错误 --> <root level="DEBUG"> <appender-ref ref="spring6log"/> <appender-ref ref="RollingFile"/> <appender-ref ref="log"/> </root> </loggers> <appenders> <!--输出日志信息到控制台--> <console name="spring6log" target="SYSTEM_OUT"> <!--控制日志输出的格式--> <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss SSS} [%t] %-3level %logger{1024} - %msg%n"/> </console> <!--文件会打印出所有信息,这个log每次运行程序会自动清空,由append属性决定,适合临时测试用--> <File name="log" fileName="d:/spring6_log/test.log" append="false"> <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n"/> </File> <!-- 这个会打印出所有的信息, 每次大小超过size, 则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩, 作为存档--> <RollingFile name="RollingFile" fileName="d:/spring6_log/app.log" filePattern="log/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz"> <PatternLayout pattern="%d{yyyy-MM-dd 'at' HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n"/> <SizeBasedTriggeringPolicy size="50MB"/> <!-- DefaultRolloverStrategy属性如不设置, 则默认为最多同一文件夹下7个文件,这里设置了20 --> <DefaultRolloverStrategy max="20"/> </RollingFile> </appenders> </configuration>
2.3.4进行测试
配置文件里设置的两个日志文件也生成了
2.3.5手动写日志
创建log对象手动写日志:
此时我们看到生成的日志文件里也有对应日志记录:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!