3.Spring入门程序

3.Spring入门程序

第一步:编写实体类java

 package com.xuan.pojo;
 
 import java.io.Serializable;
 
 /**
  * xuan
  * 2020/7/15
  * 1870136088@qq.com
  **/
 public class User implements Serializable {
 
     private String name;
     private Integer age;
 
     public String getName() {
         return name;
    }
 
     public void setName(String name) {
         this.name = name;
    }
 
     public Integer getAge() {
         return age;
    }
 
     public void setAge(Integer age) {
         this.age = age;
    }
 
     @Override
     public String toString() {
         return "User{" +
                 "name='" + name + '\'' +
                 ", age=" + age +
                 '}';
    }
 }

第二步:编写spring核心配置文件applicationContext.xml(而且把User注入到bean容器中)spring

  • id属性是标识单个bean定义的字符串。编程

  • class属性定义Bean的类型,并使用彻底限定的类名。app

  • property属性进行赋值 也是经过Spring容器进行赋值的ide

  • id至关于变量名 class至关于反射建立对象(ClassforName)因而Spring就为咱们建立了User对象函数

  • 当咱们用的时候咱们是从Spring的Bean容器中拿的,这说明咱们已经把建立对象和赋值交给spring了也就时控制反转IOC测试

 <?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
         https://www.springframework.org/schema/beans/spring-beans.xsd">
 
     <bean id="user" class="com.xuan.pojo.User">
         <property name="name" value="xuan"/>
         <property name="age" value="22"/>
     </bean>
 
 </beans>

第三步:编写测试类ui

实例化容器this

  • 提供给ApplicationContext构造函数的一个或多个位置路径是资源字符串,可以让容器从各类外部资源(例如本地文件系统,Java等)中加载配置元数据CLASSPATHspa

使用容器

  • ApplicationContext是一个维护bean定义以及相互依赖的注册表的高级工厂的接口。经过使用方法 T getBean(String name, Class<T> requiredType),您能够检索bean的实例。

 public class TestUser {
 
     public static void main(String[] args) {
         ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");
 
         User user = applicationContext.getBean("user", User.class);
 
         System.out.println(user);
    }
 
 }
 //测试成功 输出结果为:
 User{name='xuan', age=22}

 

写到这能够聊一聊什么是控制反转?

  • 控制? 主要讲的应该是建立对象交由谁(spring)来控制

  • 反转? 是一个从主动编程建立对象到被动接受spring建立的对象的一种转化

相关文章
相关标签/搜索