IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Spring框架及创建Spring项目 -> 正文阅读

[Java知识库]Spring框架及创建Spring项目

目录

SSM框架

创建Spring项目


SSM框架

JavaEE进阶框架:SSM(Spring + SpringMVC + MyBatis)Framework;

Spring:一个开源框架,支持广泛的应用场景,核心功能:提供IoC功能Spring是包含了众多工具方法的IoC容器);

容器:List/Map:数据存储容器;Tomcat:Web容器;

IoC(Inversion of Control):“控制反转”;

传统开发:先创建一个类,然在根据需要创建下级类,逐个嵌套调用,那么当底层代码改动之后,整个调用链上所有代码都要修改。

public class demo {
    public static void main(String[] args) {
        A a=new A();
        a.init();
    }
    static class A{
        public void init(){
            B b=new B();
            b.init();
        }
    }
    static class B{
        public void init(){
            System.out.println();
        }
    }
}

控制反转式:把创建子类的方式,改为注入传递的方式。? 不需要在当前类中创建下级类,改成传递。即使下级类发生变化(创建或者改变参数),当前类也无需修改。只要等所改变的下级类给自己结果就行了。

public class demo {
    public static void main(String[] args) {
        B b=new B(10);
        A a=new A(b);
    }
    static class A{
        private B b;
        public A(B b){
            this.b=b;
        }
        public void init(){
            b.init();
        }
    }
    static class B{
        private int a;
        public B(int a){
            this.a=a;
        }
        public void init(){
            System.out.println();
        }
    }
}

这样底层类无论怎么改变,整个调用链都不用在改了,整个代码之间的程序相关性(耦合性)就很低了。使得程序设计更加灵活通用。

Spring 是包含了多个工具方法的 IoC 容器,说的是对象的创建和销毁的权利都交给 Spring 来管理了,它本身又具备了存储对象和获取对象的能力。

学习Spring核心功能:就是学如何将对象放进Spring中,再从Spring中获取对象的过程。

将对象放在IoC容器相当于将以后可能用到的所有工具都做好放进仓库,随用随取,用完在放回去。但new 对象相当于要用工具的时候再去做,用完了就销毁不保存,下次用重新做。

DI(Dependency Injection):“依赖注入”;

和IoC是从不同角度描述同一件事,通过引入IoC容器,利用依赖关系注入的方式,实现对象之间的解耦(解决代码的耦合性(耦合性:代码之间的相关性));

SpringMVC(Servlet+Spring+自己的代码):在Spring基础上,提供Web开发的能力,这里的内部也是Servlet;

spring启动后的调用栈:(这三行是运行servlet标准)

运行属于 Tomcat的代码:

MyBatis:替代JDBC的(内部也是JDBC);MyBatis 快速操作数据库。

Spring虽然使用起来方便,但是如果出问题查找起来很麻烦,需要一定的基础。


Spring框架相对于Servlet+JDBC来说,就是对于开发者更友好的一种开发框架。

使用Spring Boot项目演示框架:

  • 无需配置Tomcat,Spring Boot内置了Web容器(可以直接运行);(Servlet需要配置Tomcat运行)
  • 快速添加jar包;(Servlet添加jar不方便,容易出错)
  • 快速发布项目(java -jar方式就可以发布);(Servlet项目必须依赖外置Tomcat运行)
  • 对象自动装配等;

创建Spring项目

本质上也是一个maven管理的项目,只是pom.xml很多,无法记忆,Spring提供了一个项目初始化的工具(软件),生成工程初始代码(包含结构 、pom.xml、类)。

?IDEA社区版默认没有Spring Initializer这个功能的,因此需要:

  1. 手动去https://start.spring.io/创建好工程在下载下来打开
  2. 社区版也可以直接装个插件:Spring Assistant

https://start.spring.io/?创建项目,后下载解压:

?作为项目打开后,有一个默认的类文件点击启动之间运行:


社区版插件:Spring Assistant:(连网)

网不好可以下载安装包在这配上:

?

?完成后在IDEA可以直接创建项目。

破解版创建项目(社区版基本都一样):

?根据需要选依赖:

改好路径finish即可。

启动测试类:

?两个方法均可,项目都一样。

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-08-06 10:29:56  更:2022-08-06 10:34:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 13:29:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码