Spring基础总结-003

67 阅读1分钟

3.1 编写第一个Spring步骤

  1. 引入依赖:

    • Spring-Context 的依赖
    • juint 的依赖
  2. 定义一个Bean对象

  3. 编写配置文件beans.xml,将这个Bean对象纳入IoC容器的管理

    • id 是===Bean对象的唯一标识=== ,不可重复
    • class属性需要的 ===全限定类名===
    • 定义格式 <bean id="xxxxx" class="全限定类名" />
  4. 编写测试程序

    • 通过 ApplicationContext applicationContext = ClassPathXmlApplicationContext("beans.xml") 来获取
    • 再通过 applicationContext.getBean("bean的id") 来获取 bean对象

3.2底层原理

  1. 底层通过反射机制调用无参构造方法来构造对象
Class clazz = Class.forName("全限定类名")
Object obj = clazz.newInstance();
  1. 将创建好的对象放到了一个Map集合中

image.png 3. spring的配置bean的文件名随意,因为我们获取bean对象时

ClassPathXmlApplicationContext("文件名(加后缀)")
  1. 配置bean的文件可以有多个

image.png

  1. 配置文件中也是java自带的一些类,前提是这个 类 不是抽象的 提供无参构造方法
  2. getBean()方法调用时,如果指定的id不存在会报错
  3. getBean()方法返回的类型是Object,需要调用子类特有的属性和方法时,还需要向下转型
User user = applicationContext.getBean("userBean", User.class);
  1. ApplicationContext的超级父接口是BeanFactory

3.3 spring启动Log4j2日志框架

  1. 引入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>
  1. 类路径下提供配置log4j2的配置文件,文件名固定为log4j2.xml,位置必须在类根路径下