第一个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());
}
posted @ 2020-08-11 22:13  itch  阅读(181)  评论(0编辑  收藏  举报