【SSM】一、了解Sping 框架

〇、Maven

0.1 什么是Maven?

【SSM】一、了解Sping 框架

Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.

一、Spring

1.1什么是Spring?

The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform.

Spring是分层的JavaSE/EEfull-stack 轻量级开源框架,Spring的两大特点是:IoC(Inverse of Control 控制反转),AOP(Aspect Oriented Programming 面向切面编程)

1.2 如何使用Maven加载Spring框架?

在pom.xml(maven的配置文件)中添加Maven所依赖的Jar的名称,也就是添加节点。

<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.3.16</version>
</dependency>

1.3 Spring 的核心容器

Spring容器会负责控制程序之间的关系,而不是由程序代码直接控制。Spring为我们提供了两种核心容器,分别为BeanFactory和ApplicationContext。

1.3.1 BeanFactory

创建BeanFactory实例时,需要提供Spring所管理容器的详细配置信息,这些信息通常采用XML文件形式来管理,其加载配置信息的语法如下:

BeanFactory beanFactory = 
           new XmlBeanFactory(new FileSystemResource("F: /applicationContext.xml"));
//F: /applicationContext.xml是XML配置文件的位置

这种加载方式在实际开发中并不多用,了解即可。

1.3.2 ApplicationContext

ApplicationContext是BeanFactory的子接口,是另一种常用的Spring核心容器。它由org.springframework.context.ApplicationContext接口定义,不仅包含了BeanFactory的所有功能,还添加了对国际化、资源访问、事件传播等方面的支持。创建ApplicationContext接口实例,通常采用两种方法,具体如下:

1、通过ClassPathXmlApplicationContext创建

ApplicationContext applicationContext =
                                     new ClassPathXmlApplicationContext(String configLocation);

ClassPathXmlApplicationContext会从类路径classPath中寻找指定的XML配置文件,找到并装载完成ApplicationContext的实例化工作。

2、通过FileSystemXmlApplicationContext创建

ApplicationContext applicationContext =
                                 new FileSystemXmlApplicationContext(String configLocation);

FileSystemXmlApplicationContext会从指定的文件系统路径(绝对路径)中寻找指定的XML配置文件,找到并装载完成ApplicationContext的实例化工作。

1.3.3 ContextLoaderListener

Java项目中,会通过ClassPathXmlApplicationContext类来实例化ApplicationContext容器。而在Web项目中,ApplicationContext容器的实例化工作会交由Web服务器来完成。

Web服务器实例化ApplicationContext容器时,通常会使用ContextLoaderListener来实现,此种方式只需要在web.xml中添加如下代码:

       <context-param>
               <param-name>contextConfigLocation</param-name> 
               <param-value>
                          classpath:spring/applicationContext.xml
               </param-value>
       </context-param> 
       <listener>
               <listener-class>
                         org.springframework.web.context.ContextLoaderListener
               </listener-class>
       </listener>

1.4 什么是IoC(控制反转)?

1.4.1 依赖注入

DI的全称是Dependency Injection,中文称之为依赖注入。它与控制反转(IoC)的含义相同,只不过这两个称呼是从两个角度描述的同一个概念。

IoC:在使用Spring框架之后,对象的实例不再由调用者来创建(就是不需要像以前一样new一个对象了),而是由Spring容器来创建,Spring容器会负责控制程序之间的关系,而不是由调用者的程序代码直接控制。这样,控制权由应用代码转移到了Spring容器,控制权发生了反转,这就是控制反转。

DI:从Spring容器的角度来看,Spring容器负责将被依赖对象赋值给调用者的成员变量,这相当于为调用者注入了它依赖的实例(就是相当于为调用者无形中new好了这个对象),这就是Spring的依赖注入。

原文链接:https://www.cnblogs.com/dumupro/p/17350785.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:【SSM】一、了解Sping 框架 - Python技术站

(0)
上一篇 2023年4月25日
下一篇 2023年4月25日

相关文章

  • 在springboot中对kafka进行读写的示例代码

    下面是关于在Spring Boot中对Kafka进行读写的完整攻略。 准备工作 在开始示例前,我们需要准备一些必要的工作: 安装Kafka并启动服务 在Spring Boot项目的pom.xml中加入Kafka依赖: <dependency> <groupId>org.springframework.kafka</groupId…

    Java 2023年5月20日
    00
  • Java实现后台发送及接收json数据的方法示例

    首先我们来详细讲解“Java实现后台发送及接收json数据的方法示例”的攻略。在实现后台发送及接收json数据的过程中,可以使用Java中的两种方式:使用HttpURLConnection实现 JsonRequest 和使用HttpClient实现 Json 请求。下面分别来介绍这两种方式的具体实现。 使用HttpURLConnection实现JsonReq…

    Java 2023年5月26日
    00
  • Java SpringBoot自动装配原理详解及源码注释

    Java SpringBoot自动装配原理详解及源码注释是一篇关于SpringBoot自动装配原理的技术文章。文章介绍了SpringBoot如何实现自动装配,包括SpringBoot自动配置的流程和源代码注释。攻略包含以下内容: 1、什么是SpringBoot自动装配 首先,我们需要知道什么是SpringBoot自动装配。当我们使用SpringBoot框架时…

    Java 2023年5月19日
    00
  • Spring+SpringMVC+MyBatis整合详细教程(SSM)

    以下是关于“Spring+SpringMVC+MyBatis整合详细教程(SSM)”的完整攻略,其中包含两个示例。 1. 前言 Spring+SpringMVC+MyBatis整合(简称SSM)是一种常用的Java Web开发框架,它将Spring、SpringMVC和MyBatis三个框架整合在一起,提供了一种灵活的方式来开发Web应用程序。本攻略将详细讲…

    Java 2023年5月16日
    00
  • 如何解决多线程安全问题?

    以下是关于如何解决多线程安全问题的完整使用攻略: 如何解决多线程安全问题? 在多线程编程中,为了避免多个线程同时访问共享导致的数据不一致、程序崩溃等问题,需要取相应的措施来解决多线程安全问题。以下是一些常的解决方法: 1. 使用锁机制 锁机制是一种常用的解决多线程安全问题的方法。在多线环境下,使用锁机制可以保证同一时间只有一个线程可以访问共享,从而避免了数据…

    Java 2023年5月12日
    00
  • Java中ArrayList初始化的四种方法详解

    Java中ArrayList初始化的四种方法详解 在Java开发中,我们常常需要使用到集合类,其中一个比较常用的集合类就是ArrayList。ArrayList是Java中的动态数组,有着查询快,插入,删除效率低的特性。在使用ArrayList之前,需要对其进行初始化。下面,我们就来详细讲解一下Java中ArrayList初始化的四种方法。 1. 基本初始化…

    Java 2023年5月26日
    00
  • 解决Idea的tomcat启动报多个listener的错误问题

    下面是详细的攻略: 问题背景 在使用IntelliJ IDEA进行Web开发时,经常需要使用内置的Tomcat容器进行开发和测试,但是在启动Tomcat容器时,经常会出现多个监听器(listener)的错误问题,该错误提示可能如下所示: SEVERE: One or more listeners failed to start. Full details w…

    Java 2023年5月19日
    00
  • springboot+idea+maven 多模块项目搭建的详细过程(连接数据库进行测试)

    下面详细讲解一下如何使用Spring Boot、IDEA和Maven搭建多模块项目并连接数据库测试。 环境准备 在开始之前,确保你已经安装了以下环境: JDK 1.8或以上版本 IDEA集成开发环境 Maven构建工具 数据库(本次示例使用MySQL) 创建Maven多模块项目 打开IDEA,点击File -> New -> Project,选择…

    Java 2023年5月31日
    00
合作推广
合作推广
分享本页
返回顶部