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


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

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

    进入github往下拉
    用maven引入spring-context依赖 写spring的第一个程序
    引入下面依赖,好比引入Spring的基本依赖
    
        org.springframework
        spring-context
        6.0.10
    

     

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

    名字随意

    在Spring的配置文件中配置完

    测试去Spring容器中取该对象

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

    JDK改成17

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

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

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

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

    另建个Spring配置文件

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

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

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

    改回来

    OK

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

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

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

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

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

    并且也有getBean方法

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

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

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

    注意:

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

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

    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配置文件(文件名固定)

    
    
        
            
            
                
            
        
        
            
            
                
                
            
        
    

    再次测试

    可以配置个模板

    以后用就方便多了

  • 相关阅读:
    SpringBoot项目创建及其核心设计思想
    神经网络(六)循环神经网络
    C语言学习笔记 —— 转换函数
    【毛毛讲书】【混合信号】如何更好地设计激励措施?
    MySQL ORDER BY排序一篇就够了
    Jenkins 中配置 LDAP
    查看当前cmake版本支持哪些版本的Visual Studio
    牛客月赛57
    2023感恩节大促:跨境卖家如何借助海外网红营销赢得市场关注
    php 进程通信系列 (四)共享内存
  • 原文地址:https://blog.csdn.net/tiantiantbtb/article/details/133138369