zoukankan      html  css  js  c++  java
  • 第一个Spring程序及SpringIOC

    1、Spring

    官方文档:https://docs.spring.io/spring/docs/current/spring-framework-reference/core.html#spring-core

    1.1、介绍,优势

    • Spring是一个免费的开源框架
    • Spring是一个轻量级的(引入maven依赖即可使用)
    • Spring是一个无侵入性的(框架的引入对代码买有影响)
    • IOC(控制反转)
    • AOP(面向切面编程)
    • 支持事务

    总结:Spring是一个轻量级的控制反转(IOC)和面向切面编程(AOP)的容器框架

    1.2 、组成

    20171127110222693.jpg

    各模块的含义参考:https://www.jb51.net/article/129146.htm

    2、Spring IOC

    2.1、IOC的本质

    自己不new对象,需要就直接去找IOC容器去要

    IOC就是一种设计思想,DI(依赖注入)只是IOC的一种实现方式
    
    最初我们创建对象以及对象的依赖方式都是在程序中指定的,如果用户需求有所改变,就需要重新修改代码;
    所以我们将对象的创建交给了IOC容器来完成,用户只要有需要就直接去容器中去拿即可。
    
    IOC控制反转本质就是对象创建和获取的方式反转了
    

    Spring的工作视图

    2.2、第一个Spring程序

    2.2.1、引入Spring依赖

    <!-- 引入Spring依赖 -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>5.2.5.RELEASE</version>
    </dependency>
    

    我们只需引入spring-webmvc即可

    引入的相关依赖如图所示:

    2.2.2、编写实体类

    注意:必须要有set方法。@Date包含了set方法

    @Data
    public class User implements Serializable {
        private String name;
    }
    

    2.2.3、编写配置文件

    <?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参数详解
            User user = new User();
    
            id == 变量名(user)
            class == bean对象的全限定名:包名+类名(com.ch.pojo.User)
            property == 给类中的属性设置值
                name:属性名
                value:值
         -->
        <bean id="user" class="com.ch.pojo.User">
            <property name="name" value="张三"></property>
        </bean>
    
    </beans>x
    

    2.2.4、测试

    @Test
    public void Test(){
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        User userName = (User) context.getBean("user");
        System.out.println(userName.getName());
    }
    
  • 相关阅读:
    12.1
    11.26
    12.5Java日报
    11.25
    11.27
    12.03
    11.28
    12.04
    如何在TortoiseGit中使用sshkeygen生成的key
    leetcode 39 组合总和
  • 原文地址:https://www.cnblogs.com/IT_CH/p/13485502.html
Copyright © 2011-2022 走看看