spring入门

spring入门

spring6最低要求Java17


程序开发

依照maven配置完成后

第一步:添加依赖

Spring Farmework和junit

第二步:创建Java类

第三步:创建Spring配置文件beans.xml在resources目录中。

创建Spring Config,配置文件可随意命名

第四步:将Hello类对象交给Spring的IOC容器管理,配置Hello对应的bean。

第五步:创建测试类进行测试

将该类从配置文件中取出bean,并执行


程序开发分析

底层通过反射机制调用无参数构造方法

反射 -》 动态获取对象信息与调用方法的功能

    在运行时判断任意一个对象所属的类;

    在运行时构造任意一个类的对象;

    在运行时判断任意一个类所具有的成员变量和方法;

在运行时调用任意一个对象的方法。

`Java`反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为`Java`语言的反射机制。

Spring创建对象原理

dom4j解析beans.xml文件,从中获取class属性值,类的全类名

通过反射机制调用无参数构造方法创建对象

dom4j -》 Java的XML API

用于读写XML文件

API -》 一组在Java编程中使用的函数和类库, 供了一套访问主机系统资源的标准方法。

API随JDK提供,以类的形式存在于JDK。

利用API创建对象

getDeclaredConstructor()用于获取类指定构造方法,这里获取类无参构造方法。

newInstance()用于创建对象。

bean对象储存在spring容器,在spring源码底层就是一个map集合


引入Log4j2日志框架

用于程序执行时,详细控制台的记录,帮助快速定位并解决问题

在执行测试类时,控制台通过log4j2输出执行的类和时间等信息

引入依赖

创建log4j2.xml(固定名)在resouces目录中常见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>

使用log4j2代替sout输出控制台信息

创建Logger类的logger对象,使用logger.info()方法

  • 22
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值