3.1 编写第一个Spring步骤
-
引入依赖:
Spring-Context的依赖juint的依赖
-
定义一个Bean对象
-
编写配置文件beans.xml,将这个Bean对象纳入IoC容器的管理
id是===Bean对象的唯一标识=== ,不可重复- class属性需要的 ===全限定类名===
- 定义格式
<bean id="xxxxx" class="全限定类名" />
-
编写测试程序
- 通过
ApplicationContext applicationContext = ClassPathXmlApplicationContext("beans.xml") 来获取 - 再通过
applicationContext.getBean("bean的id")来获取 bean对象
- 通过
3.2底层原理
- 底层通过反射机制调用无参构造方法来构造对象
Class clazz = Class.forName("全限定类名")
Object obj = clazz.newInstance();
- 将创建好的对象放到了一个Map集合中
3. spring的配置bean的文件名随意,因为我们获取bean对象时
ClassPathXmlApplicationContext("文件名(加后缀)")
- 配置bean的文件可以有多个
- 配置文件中也是java自带的一些类,前提是这个 类 不是抽象的 提供无参构造方法
- getBean()方法调用时,如果指定的id不存在会报错
- getBean()方法返回的类型是Object,需要调用子类特有的属性和方法时,还需要向下转型
User user = applicationContext.getBean("userBean", User.class);
- ApplicationContext的超级父接口是BeanFactory
3.3 spring启动Log4j2日志框架
- 引入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>
- 类路径下提供配置log4j2的配置文件,文件名固定为log4j2.xml,位置必须在类根路径下