Spring第一个程序

准备工作

  1. 导入spring依赖,我们导入spring-webmvc依赖,它会自动导入其它相关的依赖
		<dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.3.1</version>
        </dependency>
  1. 编写一个实体类
//将对象的创建交给spring来管理
public class User {
    
    
    private String name;

	public User() {
    
    
        System.out.println("User创建成功了。。。");
    	}

    //交给spring来管理,通过set方法给给属性赋值
    public void setName(String name) {
    
    
        this.name = name;
    }

    @Override
    public String toString() {
    
    
        return "User{" +
                "name='" + name + '\'' +
                '}';
    }
}

3.创建一个spring管理javabean文件,命名为beans.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就是java对象 , 由Spring创建和管理
    bean的id表示该bean对象的唯一标识,class表示java实体类对应的全限名(包名+类名)
    property中的name表示该实体类中属性名,value表示对该对象创建时自动注入值
    -->
    <bean id="user" class="pojo.User">
        <property name="name" value="chenhui"/>
    </bean>


</beans>
  1. 测试类
@org.junit.Test
    public void test(){
    
    
        //通过ClassPathXmlApplicationContext对象加载配置文件方式将javabean对象交给spring来管理
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml");
        //在执行getBean的时候, user已经创建好了 , 通过无参构造
        User user = (User)applicationContext.getBean("user");
        System.out.println(user);
    }

结果:
在这里插入图片描述

在这里插入图片描述

ApplicationContext核心容器接口常用实现类

  1. ClassPathXmlApplicationContext:它可以加载类路径下的配置文件,必须在类路径下存在,否则加载不了
  2. FileSystemXmlApplicationContext:它可以加载磁盘任意路径下的配置文件(必须要有访问权限),即采取磁盘全路径
  3. AnnotationConfigApplicationContext:它是用于读取注解创建容器的

核心容器两个接口的关系

在这里插入图片描述

  1. ApplicationContext:它在构建核心容器时,创建对象采取的策略是采用立即加载的方式,即读取完配置文件马上就创建配置文件中的bean配置对象
    在这里插入图片描述

  2. BeanFactory:它在构建核心容器时,创建对象采取的策略是延迟加载的方式,即什么时候根据id获取对象,对象才被真正创建

//通过ClassPathResource实现类加载配置文件
        Resource resource=new ClassPathResource("beans.xml");
        //通过Resource构建BeanFactory工厂
        BeanFactory beanFactory =new XmlBeanFactory(resource);
        //获取工厂中的bean对象
        User user = (User)beanFactory.getBean("user");
        System.out.println(user);

在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45608165/article/details/113806070