栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring【一】第一个环境搭建

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring【一】第一个环境搭建

主页:查看更多文章
专栏:订阅专栏 ✅
关键:Spring 概念 环境搭建

Spring 框架对与 Java ‍,重要性不言而喻,本专栏将系统学习框架核心思想和实现原理,理论和实践相结合,帮助刚学习框架的小伙伴摆脱困境重拾自信,原创不易,如果觉得文章对你有帮助,记得点赞收藏呀。

Spring专栏完更后,会开始SpringMVC专栏,准备和博主一起学习的小伙伴记得关注哦。


文章目录
  • 1. 知识清单
  • 2. 写在前面
  • 3. 引言
  • 4. Spring核心作用
  • 5. 第一个环境搭建
    • 5.1 新建空项目
    • 5.2 新建Maven模块
    • 5.3 引入依赖
    • 5.4 引入配置文件
    • 5.5 创建组件类
    • 5.6 Spring工厂管理
    • 5.7 启动工厂测试
  • 6. Spring框架核心思想
    • 6.1 控制反转 IoC
    • 6.2 依赖注入DI
    • 6.3 面向切面编程AOP
  • 7. 写在最后

1. 知识清单

以下是本文将要学习的知识清单。

2. 写在前面

大家好,本文是Spring的第一篇,理论方面,学习框架相关概念,实践方面,完成第一个环境的搭建。

3. 引言

Spring框架是一个集众多设计模式于一身的开源的、轻量级项目管理框架

致力于JAVAEE轻量级解决方案,相对于原来学过的框架而言,Spring不是替换某个框架,而是对其进行整合管理

轻量级方案 提供简单的,统一的,高效的方式构造整个应用,并且可以将单层框架以最佳的组合揉和在一起建立一个连贯的体系。

4. Spring核心作用

Spring 框架用来管理 [创建 | 使用 | 销毁] 项目中的组件,由于Spring框架可以帮我们创建管理项目中的组件对象,因此也习惯称Spring是一个工厂或容器。

组件: dao,service都是项目中的组件

5. 第一个环境搭建 5.1 新建空项目

新建项目,选择空项目,下一步

填写项目名Spring,选择自己的项目目录,点击完成

5.2 新建Maven模块

创建Maven模块前,先检查Maven配置是不是已经OK,点开设置,搜索Maven查看

打开项目结构,新建模块

选择Maven模块,换了个主题,继续,哈哈


填写项目名,项目存放位置,组Id,工件名和版本号一般不修改,点击完成

5.3 引入依赖

Maven项目就创建好了,然后再Pom.xml中引入Spring应用相关依赖包,依赖坐标如下:


    
        org.springframework
        spring-core
        4.3.2.RELEASE
    
    
        org.springframework
        spring-beans
        4.3.2.RELEASE
    
    
        org.springframework
        spring-web
        4.3.2.RELEASE
    
    
        org.springframework
        spring-expression
        4.3.2.RELEASE
    
    
        org.springframework
        spring-aop
        4.3.2.RELEASE
    
    
        org.springframework
        spring-context
        4.3.2.RELEASE
    
    
        org.springframework
        spring-context-support
        4.3.2.RELEASE
    
    
        org.springframework
        spring-aspects
        4.3.2.RELEASE
    
    
        org.springframework
        spring-jdbc
        4.3.2.RELEASE
    

因为本地仓库没有这些依赖,所以需要刷新Maven仓库,去自己配置的国内镜像站下载相应依赖包,稍等就会下载完成,就不报红了

什么是依赖,说的简单点就是Java代码包,里面有很多的Java类,Spring需要运行,需要这些代码支持,所以把它们成为依赖

5.4 引入配置文件

名称任意,位置项目包下的任意位置,习惯叫做application.xml





5.5 创建组件类

在Java目录下新建一个dao包,用于存放与数据库映射的Java实体类User,User内容如下:

package dao;

public class User {
    private int id;
    private String name;

    public User() {
    }

    public User(int id, String name) {
        this.id = id;
        this.name = name;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + ''' +
                '}';
    }
}
5.6 Spring工厂管理

现在把dao层下的User类,告诉并交给Spring,打开application.xml,编写以下内容



    
    
    


5.7 启动工厂测试

和dao同级,创建一个启动类MainApplication ,注释看代码

import dao.User;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class MainApplication {
    public static void main(String[] args) {
        // 定义一个ClassPathXmlApplicationContext类型的变量
        ClassPathXmlApplicationContext context;
        // 通过创建ClassPathXmlApplicationContext对象,参数为配置文件xml名
        // 这个类在org.springframework.context.support包下
        context = new ClassPathXmlApplicationContext("application.xml");
        // context事实上就是Spring容器了,现在你可以通过容器暴露的getBean()方法
        // 参数为配置文件中的id唯一标志,获取实例对象
        User user = (User) context.getBean("User");
        User user1 = (User) context.getBean("User");
        System.out.println(user);
        System.out.println(user1);
        // 因为配置的是prototype多例,所以两次创建了两个是不同对象,返回false
        // scope默认值是singleton,单例,如果不配置scope,这里结果就是true了
        System.out.println(user == user1);
    }
}

执行结果:

七月 07, 2022 5:09:03 下午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh
信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@6433a2: startup date [Thu Jul 07 17:09:03 CST 2022]; root of context hierarchy
七月 07, 2022 5:09:03 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from class path resource [application.xml]
User{id=0, name='null'}
User{id=0, name='null'}
false

进程已结束,退出代码为 0
6. Spring框架核心思想

每个框架都有自己的核心思想,要解决哪些问题,这些很重要无论是对框架本身还是对于学习框架的开发者来说,下面就了解Spring框架有哪些核心思想,为以后的学习打牢基础。

6.1 控制反转 IoC

IoC(Inversion Of Controll) 控制反转

把对象的创建由原来(new)的方式转移到配置文件中,交给spring工厂来创建对象,这就是控制反转,所以说Spring是一个大工厂,也是没问题的。

6.2 依赖注入DI

DI(Dependcy Injection) 依赖注入

Spring不仅要创建对象,还要建立类与类之间的关系,因此在控制反转的基础上又提出了依赖注入的概念。

比如业务层需要数据访问层,就可以说业务依赖数据访问,既然依赖,那就要把数据访问给到业务,这里用了一个词,叫注入,很形象。

6.3 面向切面编程AOP

AOP( Aspect Oriental Programing ) 面向切面的编程

通过预编译和运行期间动态代理实现程序功能的统一维护的一种技术,AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个核心概念,利用AOP可以对业务逻辑的各个部分进行隔离,比如事务操作,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。

7. 写在最后

我是小周,周棋洛的周,原创不易,如果觉得文章对你有帮助,不妨点赞收藏一下本文呀,如果想持续学习Spring,关注不迷路,这就是全部内容了,拜拜,下期再见。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1007014.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号