Spring学习笔记2 Spring的入门程序

Spring学习笔记1 启示录_biubiubiu0706的博客-CSDN博客

Spring官网地址:https://spring.io

Spring学习笔记2 Spring的入门程序_第1张图片

Spring学习笔记2 Spring的入门程序_第2张图片
进入github往下拉
Spring学习笔记2 Spring的入门程序_第3张图片
Spring学习笔记2 Spring的入门程序_第4张图片
Spring学习笔记2 Spring的入门程序_第5张图片
Spring学习笔记2 Spring的入门程序_第6张图片
Spring学习笔记2 Spring的入门程序_第7张图片
用maven引入spring-context依赖 写spring的第一个程序
引入下面依赖,好比引入Spring的基本依赖

    org.springframework
    spring-context
    6.0.10

 Spring学习笔记2 Spring的入门程序_第8张图片

Spring学习笔记2 Spring的入门程序_第9张图片

Spring学习笔记2 Spring的入门程序_第10张图片

需要一个spring配置文件,idea提供了模板

Spring学习笔记2 Spring的入门程序_第11张图片

名字随意

Spring学习笔记2 Spring的入门程序_第12张图片

在Spring的配置文件中配置完

Spring学习笔记2 Spring的入门程序_第13张图片

测试去Spring容器中取该对象

Spring学习笔记2 Spring的入门程序_第14张图片

报错原因应该是Spring6  需要JDK版本17的原因

Spring学习笔记2 Spring的入门程序_第15张图片

Spring学习笔记2 Spring的入门程序_第16张图片

JDK改成17

Spring学习笔记2 Spring的入门程序_第17张图片

默认情况下Spring会通过反射机制,调用类的无参数构造方法来实例化对象

Spring学习笔记2 Spring的入门程序_第18张图片

Spring学习笔记2 Spring的入门程序_第19张图片

Spring学习笔记2 Spring的入门程序_第20张图片

如果下面这样Spring还能创建对象吗

Spring学习笔记2 Spring的入门程序_第21张图片

Spring学习笔记2 Spring的入门程序_第22张图片

Spring学习笔记2 Spring的入门程序_第23张图片

Spring学习笔记2 Spring的入门程序_第24张图片

Spring学习笔记2 Spring的入门程序_第25张图片

底层是将id作为key 对象做为value存在一个Map中

Spring学习笔记2 Spring的入门程序_第26张图片

另外Spring的配置文件可以有多个

Spring学习笔记2 Spring的入门程序_第27张图片

另建个Spring配置文件

Spring学习笔记2 Spring的入门程序_第28张图片

ClassPathXmlApplicationContext有个重载的构造方法,允许传入多个配置文件

Spring学习笔记2 Spring的入门程序_第29张图片Spring学习笔记2 Spring的入门程序_第30张图片

还可以这样放置Spring配置文件,但注意  bean   id好比身份证号,必须唯一

Spring学习笔记2 Spring的入门程序_第31张图片

这里报错原因是我原先在User类里加了有参构造

Spring学习笔记2 Spring的入门程序_第32张图片改回来

Spring学习笔记2 Spring的入门程序_第33张图片

Spring学习笔记2 Spring的入门程序_第34张图片

OKSpring学习笔记2 Spring的入门程序_第35张图片

配置文件里的bean可以是JDK里的bean

Spring学习笔记2 Spring的入门程序_第36张图片

Spring学习笔记2 Spring的入门程序_第37张图片

默认是单例的得到的对象是同一个

Spring学习笔记2 Spring的入门程序_第38张图片

假设Spring配置文件在J盘,如何加载

Spring学习笔记2 Spring的入门程序_第39张图片

ApplicationContext接口的超级父接口是BeanFactory,BeanFactory是IOC容器的顶级接口

SpringIOC容器底层实际上使用了工厂模式

并且也有getBean方法

Spring学习笔记2 Spring的入门程序_第40张图片

SpringIOC如何实现的:XML解析+工厂模式+反射机制

那么在创建Spring容器的时候可以指向BeanFactory

BeanFactory applicationContext=new ClassPathXmlApplicationContext("spring-config.xml");

注意:

并非在getBean时候才初始化对象

实际当执行new ClassPathXmlApplicationContext("spring-config.xml");时候已经初始化了对象放在容器中

Spring学习笔记2 Spring的入门程序_第41张图片

getBean是去容器中已经存在的bean对象中取

Spring6如何用Log4j2日志框架(Spring内部打了很多日志,用的就是Log4j2)

spring5之后支持Log4j2

1.引入Log4j2依赖


    org.apache.logging.log4j
    log4j-core
    2.19.0


    org.apache.logging.log4j
    log4j-slf4j-impl
    2.19.0

2.在根的路径下(resources目录下)提供log4j2.xml配置文件(文件名固定)


    
        
        
            
        
    
    
        
        
            
            
        
    

再次测试

Spring学习笔记2 Spring的入门程序_第42张图片

Spring学习笔记2 Spring的入门程序_第43张图片

Spring学习笔记2 Spring的入门程序_第44张图片

Spring学习笔记2 Spring的入门程序_第45张图片

可以配置个模板

Spring学习笔记2 Spring的入门程序_第46张图片

以后用就方便多了

你可能感兴趣的:(spring,学习,笔记)