zoukankan      html  css  js  c++  java
  • Spring学习总结-01

           既然要学习Spring,那我们就要了解什么是Spring,Spring是轻量级的JavaEE开源开发框架,Spring有两大核心:IOC(控制反转)和 AOP(面向切面编程),今天我们先来学习IOC(控制反转)

          所谓IOC(控制反转)简单来说就是将new 对象的控制权交给Spring去做,而不是程序员自己new 对象,IOC通过容器实现,将对象与对象进行解耦,Spring容器在初始化时先读取配置文件,根据配置文件(即XML文档)创建与组织对象存入容器中,程序使用时再从IOC容器取出需要的对象

          那我们要在XML文档配置什么呢,主要是配置Bean,Bean的定义信息和实现是分离的,Bean的定义主要是通过pojo定义类,而实现是在XML文档中通过具体的Bean来实现,下面我们来看一个例子:

    首先这是一个pojo的User类

    package xy.kc2021.spring01.pojo;
    
    public class User {
        private String name;
    
        public String getName() {
            return name;
        }
        
        public void setName(String name) {
            this.name = name;
        }
        
        public User(){
            System.out.println("User的无参构造");
        }
        
        public  void show(){
            System.out.println("name: "+name);
        }
        
    }

    在XML中我们可以通过Bean new一个User类的对象并注入name属性的值 ,这个过程相当于平时我们写的 User user = new User();    user.setName("哈哈");

    <?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="user" class="xy.kc2021.spring01.pojo.User">
            <property name="name" value="哈哈"></property>
        </bean>
    
    </beans>

    同时我们也可以通过读取XML中的Bean获得对象执行User类show()方法

    package xy.kc2021.spring01;
    
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    import xy.kc2021.spring01.pojo.User;
    
    public class Application {
        public static void main(String[] args) {
            ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
            User user = (User) applicationContext.getBean("user");
            user.show();
        }
    }
    

    首先通过读取配置文件,再通过getBean的方法获取Bean,最后Bean中获取user(User类的对象)

    最终输出结果为:

    调用了无参构造,并且执行show()方法,可见,User类对象user的创建、属性的装配交给了Bean,也就是对象的创建、管理被Spring控制并管理

    以后如果要实现不同的操作,只需要在XML配置文件中进行修改即可,不用修改程序。

    总结:所谓的IOC(控制反转),就是对象由Spring创建、管理、装配

  • 相关阅读:
    并不对劲的辛普森积分
    并不对劲的概率与期望
    并不对劲的cdq分治解三维偏序
    68.机器人的运动范围
    67.矩阵中的路径
    66.滑动窗口最大值
    65.数据流的中位数
    64.二叉搜索树的第K个节点
    63.序列化二叉树
    62.把二叉树打印成多行
  • 原文地址:https://www.cnblogs.com/yang2000/p/15259433.html
Copyright © 2011-2022 走看看