2023.11.4
今天学习了一下spring的简单使用。
首先需要配置一下spring context和junit的依赖,在pom.xml文件中添加:
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>6.0.2</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13.2</version>
            <scope>test</scope>
        </dependency>定义bean文件:User
public class User {
}编写spring的配置文件:spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <bean id="userBean" class="spring6.bean.User"></bean>
</beans>bean的id和class属性:
- id属性:代表对象的唯一标识。
- class属性:用来指定要创建的java对象的类名,这个类名必须是全限定类名(带包名)。
编写测试程序:
package test;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class FirstSpringTest {
    @Test
    public void testFirstSpringCode(){
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring.xml");
        Object userBean = applicationContext.getBean("userBean");
        System.out.println(userBean);
    }
}运行结果:

Spring是如何创建对象的?
// dom4j解析beans.xml文件,从中获取class的全限定类名
// 通过反射机制调用无参数构造方法创建对象
Class clazz = Class.forName("com.powernode.spring6.bean.User");
Object obj = clazz.newInstance();spring是通过调用类的无参数构造方法来创建对象的,所以要想让spring给你创建对象,必须保证无参数构造方法是存在的。






![[极客大挑战 2019]Knife 1(两种解法)](https://img-blog.csdnimg.cn/img_convert/9c5db65d32e60e4edc81b820c5c41e34.png)












