网站图标怎么换,东莞常平镇邮政编码,高校网络架构,最好的素材网站Spring学习笔记1 启示录_biubiubiu0706的博客-CSDN博客 Spring官网地址:https://spring.io 进入github往下拉 用maven引入spring-context依赖 写spring的第一个程序 引入下面依赖,好比引入Spring的基本依赖 dependencygroupIdorg.springframework/groupIddependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion6.0.10/version
/dependency 需要一个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 applicationContextnew ClassPathXmlApplicationContext(spring-config.xml); 注意:
并非在getBean时候才初始化对象
实际当执行new ClassPathXmlApplicationContext(spring-config.xml);时候已经初始化了对象放在容器中 getBean是去容器中已经存在的bean对象中取 Spring6如何用Log4j2日志框架(Spring内部打了很多日志,用的就是Log4j2)
spring5之后支持Log4j2
1.引入Log4j2依赖 !--Log4j2依赖--
dependencygroupIdorg.apache.logging.log4j/groupIdartifactIdlog4j-core/artifactIdversion2.19.0/version
/dependency
dependencygroupIdorg.apache.logging.log4j/groupIdartifactIdlog4j-slf4j-impl/artifactIdversion2.19.0/version
/dependency 2.在根的路径下(resources目录下)提供log4j2.xml配置文件(文件名固定) ?xml version1.0 encodingUTF-8?
configurationloggers!--level指定⽇志级别从低到⾼的优先级ALL TRACE DEBUG INFO WARN ERROR FATAL OFF--root levelDEBUGappender-ref refspring6log//root/loggersappenders!--输出⽇志信息到控制台--console namespring6log targetSYSTEM_OUT!--控制⽇志输出的格式--PatternLayout pattern%d{yyyy-MM-dd HH:mm:ss SSS} [%t] %-3level %logger{1024} - %msg%n//console/appenders
/configuration 再次测试 可以配置个模板 以后用就方便多了