• spring学习1-第一个spring项目


    1. 创建一个maven项目(不勾选骨架),导入依赖,删除src目录,以此作为父项目。

    依赖

        <dependencies>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
                <version>5.2.0.RELEASE</version>
            </dependency>
            <!--单元测试-->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.12</version>
            </dependency>
            <!--lombook插件,免写pojo类的getter,setter等-->
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>1.18.8</version>
            </dependency>
        </dependencies>

    spring-webmvc是一个很大的包,它会帮我们顺便导入其它诸如beans,aop,context等核心包

    2.  在父项目下创建一个module

     3.创建user类

    import lombok.Data;
    @Data//getter,setter,toString
    public class User {
        private int id;
        private String name;
        private String password;
    }

    4.创建核心配置文件applicationContext.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 class="com.cong.pojo.User" id="user">
            <property name="id" value="1"/>
            <property name="password" value="123456"/>
            <property name="name" value="cong"/>
        </bean>
    </beans>

    5.测试类

    public class TestIOC {
        @Test
        public void test1() {
            ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");//获取上下文对象
            User user = context.getBean("user",User.class);
            System.out.println(user);
        }
    }

    结果

     那么,这么怎么得到这个结果的呢?先思考两个个问题

    1. user对象是谁创建的?
    user对象是由Spring创建的
    2. user对象的属性是怎么设置的?
    user对象的属性是由Spring容器设置的


    这个过程就叫控制反转:
    控制:谁来控制对象的创建,

    传统应用程序的对象是由程序本身控制创建的,比如User user = new User()

    使用Spring后,对象是由Spring来创建的,比如User user1 = context.getBean("user",User.class); 

    反转:程序本身不创建对象,而变成被动的接收对象.
    依赖注入:就是利用set方法来进行注入的.

    大概可以等价如下

     平常我们需要一个对象,都是通过new的方式,现在把这些工作全部交给spring管理了。

    IOC是一种编程思想,由主动的编程变成被动的接收.
    可以通过newClassPathXmlApplicationContext去浏览一下底层源码 .
    OK,到了现在,我们彻底不用再程序中去改动了,要实现不同的操作,只需要在xmI配置文件中进行修改,

    所谓的IOC,一句话搞定:对象由Spring来创建,管理,装配!

    项目结构

    爱生活,爱码字

    我是匆匆、我曾喂自己半年酒。

    好好生活吧,有缘或许相见。

  • 相关阅读:
    10.28
    10.25
    10.21
    移动第七次作业
    移动第六次作业
    移动第五次作业
    移动第四次作业
    移动第3次作业
    移动第二次作业
    移动第一次作业
  • 原文地址:https://www.cnblogs.com/ccoonngg/p/11217149.html
Copyright © 2020-2023  润新知