SSM 框架(Spring + SpringMVC + Maven + Springboot + MybatisPlus 从入门到精通 ):(第一篇)Spring

文章目录

  • SSM 框架(Spring + SpringMVC + Maven + Springboot + MybatisPlus 从入门到精通 ):(第一篇)Spring
    • Spring 基本概述:
      • 1.Spring 官方网站
      • 2.我们需要学习的框架技术:
      • 3.Spring Framework 架构图
        • 架构图分析:
    • Spring 之 IOC (Core Container)
      • IOC 实例:
        • 1.引入 spring maven 坐标(记得要让 maven 刷新,点标红的位置)
        • 2.新建 Spring xml 配置文件
      • 总结:本期就到这,下节 Spring 之 DI

SSM 框架(Spring + SpringMVC + Maven + Springboot + MybatisPlus 从入门到精通 ):(第一篇)Spring

Spring 基本概述:

1.Spring 官方网站

www.spring.io

SSM 框架(Spring + SpringMVC + Maven + Springboot + MybatisPlus 从入门到精通 ):(第一篇)Spring_第1张图片

2.我们需要学习的框架技术:

SSM 框架(Spring + SpringMVC + Maven + Springboot + MybatisPlus 从入门到精通 ):(第一篇)Spring_第2张图片

1.首先是 spring framework,它是 spring 最初的版本
2.spring boot
3.spring cloud

3.Spring Framework 架构图

SSM 框架(Spring + SpringMVC + Maven + Springboot + MybatisPlus 从入门到精通 ):(第一篇)Spring_第3张图片

架构图分析:

Core Container:在这个架构图当中,最最重要的是 Core Container(核心容器),既然它是一个容器,那么它肯定是用来装东西的。(这里不卖关子了,通俗来说,它是用来装我们在java中的对象的)

AOP 、Aspects:面向切面编程(放在后面详细介绍)

Data Access /Integration :看到Data相信大家已经猜出来了,这是跟我们的数据相关

Web:Web开发

Test:单元测试或者集成测试

既然我们学习这个框架,就从这几个点入门学习

Spring 之 IOC (Core Container)

IOC:控制反转,这是一种设计思想,把创建对象的权力交给了Spring。

IOC 实例:

如下项目(这是一个没有spring环境的项目,当我们的service层需要使用到model层的数据保存服务,我们的代码):
SSM 框架(Spring + SpringMVC + Maven + Springboot + MybatisPlus 从入门到精通 ):(第一篇)Spring_第4张图片
这里我先把代码贴出来,你们可以创建一个 maven 的空 java 项目,根据我的以上图片建包,我把写的代码贴上来,你们照着粘贴即可。

BookDaoimpl

package org.example.model.impl;

import org.example.model.BookDao;

public class BookDaoimpl implements BookDao {

    @Override
    public void save() {
        System.out.println("bookdao save");
    }
}

BookDao

package org.example.model;

public interface BookDao {
    public void save();
}

BookServiceimpl

package org.example.service.impl;

import org.example.model.BookDao;
import org.example.model.impl.BookDaoimpl;
import org.example.service.BookService;

public class BookServiceimpl implements BookService {
    private BookDao bookDao = new BookDaoimpl();
    @Override
    public void save() {
        System.out.println("book service save...");
        bookDao.save();
    }
}

BookService

package org.example.service;

public interface BookService {
    public void save();
}

main

package org.example;

import org.example.service.BookService;
import org.example.service.impl.BookServiceimpl;

public class Main {
    public static void main(String[] args) {
        BookService bookService = new BookServiceimpl();
        bookService.save();
    }
}

然后这里我们找到 Main 运行:
SSM 框架(Spring + SpringMVC + Maven + Springboot + MybatisPlus 从入门到精通 ):(第一篇)Spring_第5张图片
这是我们的运行结果。
但是我们需要思考一个问题:这样的编码是否两个模块的耦合十分高,那么该如何降低这种耦合呢?
SSM 框架(Spring + SpringMVC + Maven + Springboot + MybatisPlus 从入门到精通 ):(第一篇)Spring_第6张图片

解决思路:我们直接不去 new 对象了,把对象控制权交给 spring ,让它来为我们 new对象。这就是ioc控制反转的实现。

需要注意以下是以配置文件的形式使用 Spring

1.引入 spring maven 坐标(记得要让 maven 刷新,点标红的位置)
<dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.2.10.RELEASE</version>
        </dependency>
    </dependencies>

SSM 框架(Spring + SpringMVC + Maven + Springboot + MybatisPlus 从入门到精通 ):(第一篇)Spring_第7张图片

2.新建 Spring xml 配置文件

SSM 框架(Spring + SpringMVC + Maven + Springboot + MybatisPlus 从入门到精通 ):(第一篇)Spring_第8张图片
新建文件名称为:

applicationContext.xml

SSM 框架(Spring + SpringMVC + Maven + Springboot + MybatisPlus 从入门到精通 ):(第一篇)Spring_第9张图片
写入bean(bean就是我们交给spring管理的类)

<?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">
<!--   1.引入spring坐标-->
<!--   2.新建spring配置文件-->
<!--   3.配置beaen -->

    <bean id="bookDao" class="org.example.model.impl.BookDaoimpl"></bean>
    <bean id="bookService" class="org.example.service.impl.BookServiceimpl"></bean>
</beans>

这里的bean里面
class:我们的类所在的位置
id:是我们以后需要使用交给spring管理的类的时候,获取的参数

新建 main2 使用spring 帮我们创建对象

package org.example;

import org.example.service.BookService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Main2 {
    public static void main(String[] args) {
        //获取ioc容器,后面参数是配置文件的名字
        ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
        //通过id获取bean
        BookService bookService = (BookService) ctx.getBean("bookService");
        bookService.save();
    }
}

最后编译结果:
SSM 框架(Spring + SpringMVC + Maven + Springboot + MybatisPlus 从入门到精通 ):(第一篇)Spring_第10张图片

总结:本期就到这,下节 Spring 之 DI

你可能感兴趣的:(后端,spring,maven,spring,boot,java,后端)