Spring零基础到进阶之使用方法详解

目录
  • 一.Spring的创建和使用
    • 1.创建一个Maven项目
    • 2.添加Spring框架支持
    • 3.添加启动类
  • 二.存储Bean
    • 1.添加配置文件(非第一次省略此步)
    • 2.创建Bean对象
      • 2.1.创建Bean对象
      • 2.2.将Bean对象注入到Spring中
  • 三.获取并使用 Bean 对象
    • 1.先得到Spring上下文对象
    • 2.再通过上下文提供的方法获取到Bean对象
    • 3.使用Bean对象

今天介绍一下Spring的基本使用,为了更好的熟悉Spring,可以先看一下我前面的文章:

Spring鸿蒙开

一.Spring的创建和使用

使用maven方式来创建一个Spring项目,创建Spring项目和Servlet类似,接下来一起看看吧!

1.创建一个Maven项目

2.添加Spring框架支持

也是和前面一样在maven仓库中搜索所需要的驱动包,然后把maven标签也里面的xml配置复制下来,粘贴到pom.xml里面:

<dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.2.3.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>5.2.3.RELEASE</version>
        </dependency>
    </dependencies>

这里的spring-context是spring 上下⽂,还有 spring-beans是管理对象的模块,引入文件之后记得刷线maven项目,下载依赖!

3.添加启动类

在java ⽂件夹下创建⼀个启动类,包含 main ⽅法即可:

public class Demo {
    public static void main(String[] args) {
        System.out.println("启动成功");
    }
}

运行出结果就表示已将创建成功了!

二.存储Bean

要想将Bean存储到Spring中,须有以下操作:

1.添加配置文件(非第一次省略此步)

如果是第一次的时候需要先添加Spring配置文件的,添加一次之后就不再需要添加了,需要把以下内容放到resources(存放静态资源)里面,文件名可以随便起,但尽量保证规范化,我这里起名为spring-config.xml。

<?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">
</beans>

2.创建Bean对象

2.1.创建Bean对象

一个普通的Bean对象就可以

package beans;
public class User {
    public void func(String name){
        System.out.println("你好:" + name);
    }
}

2.2.将Bean对象注入到Spring中

只需要在刚才创建的配置文件里面添加Bean对象就可以了:

此时就将User对象存储到了Spring里面,取得时候就是通过id来获得,这里的id一般为是类名的小驼峰形式,这个后面会介绍!

三.获取并使用 Bean 对象

1.先得到Spring上下文对象

Spring 上下⽂对象可使⽤ ApplicationContext来获得:

        ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");

后面的文件就是上面所创建的配置文件名!

除此之外,还可以通过BeanFactory获得到Spring的上下文对象:

BeanFactory beanFactory = new XmlBeanFactory(new
ClassPathResource("spring-config.xml"));

这两种方法效果都是一样的,不过ApplicationContext 属于 BeanFactory 的⼦类,说到这两个类就会有一个经典的面试题:

ApplicationContext 和BeanFactory的区别:

  • ApplicationContext 属于 BeanFactory 的⼦类,BeanFactory只是提供了基础访问Bean的方法,而ApplicationContext除了BeanFactory的所有功能之外,还提供了更多的方法,比如对国际化的支持,资源访问的支持,以及事件和传播等方面的支持!
  • 从性能方面来说二者也是不一样的,BeanFactory是按需加载Bean(懒加载),ApplicationContext在创建时会将所有的Bean都加载起来(饿汉模式),以备以后使用!

2.再通过上下文提供的方法获取到Bean对象

通过上下文对象的getBean方法就可以获取到Bean对象了:

        User user = (User)context.getBean("user");

getBean里面的参数就是之前在配置文件里面写的id,这里就体现出了IoC的特点,不是再自己new了,而是通过Spring容器来进行获取!

3.使用Bean对象

使用user里面的方法就可以了

user.func("朋友");

这就成功使用了,也就获取到此对象了!

这里的存和取都是比较老套的,如果是第一次可以先使用着,后面会继续介绍Spring的注解使用,这个使用起来更加方便!!!

到此这篇关于Spring零基础到进阶之使用方法详解的文章就介绍到这了,更多相关Spring使用方法内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Spring基础之AOP的概念介绍

    目录 前言 Spring的AOP的功能和目标 代理方式 @AspectJ的支持 启用@AspectJ 通过Java注解启用AspectJ注解支持: 通过XML配置启用AspectJ注解 定义一个切面 声明一个切入点 常见的切入点匹配表达 切面的增强 前增强BeforeAdvice 后增强 异常增强 环绕增强 代理机制 代理工厂的使用 Spring容器包含两个重要的特性:面向切面编程(AOP)和控制反转(IOC).面向切面编程是面向对象(OOP)的一种补充,在面向对象编程的过程中编程针对的目标是一

  • Spring Boot 底层原理基础深度解析

    目录 1. 底层注解@Configuration 2. 底层注解@Import 3. 底层注解@Conditional 1. 底层注解@Configuration @Configuration 注解主要用于给容器添加组件(Bean),下面实践其用法: 项目基本结构: 两个Bean组件: User.java package com.menergy.boot.bean; /** * 用户 */ public class User { private String name; private Inte

  • 零基础入门SpringMVC拦截器的配置与使用

    在SpringMVC中 我们说到了拦截器 , 它会在映射处理器(HandleMapping)执行时检查我们访问的地址是否配置拦截器 , 在拦截器中实现一些功能 SpringMVC 定义了拦截器接口 HandlerInterceptor该接口中定义了三个方法,这三个方法的调用时在 SpringMVC 框架内部完成的, 调用这个三个方法的时候,其参数的值也是从框架内部传递进来的. 首先我们来看第一个方法 : boolean preHandle() 预处理方法,实现处理器(Controller层, 控

  • Spring入门基础之依赖注入

    目录 一.构造器注入 二.set注入 三.其他方式注入 (1)导入约束 (2)p命名注入 (3)c命名注入 一.构造器注入 在前几节已经做过了详细的说明讲解,我们先跳过 二.set注入 依赖注入 依赖: bean对象的创建以及管理都依赖于Spring IOC容器 注入: bean对象中的所有属性,都有容器进行注入 在前面我们已经见识过了 普通类型注入和 bean注入的方式,那么对于复杂类型List.数组类型.Map.Set属性等怎么进行注入呢? 我们先提供一个包含各种类型的实体类 Student

  • Spring零基础到进阶之鸿蒙开篇

    目录 Spring是什么 1.什么是容器? 2.什么是IOC? 3.理解Spring IoC 4.了解DI Spring是什么 用一句简单的话来概括Spring:Spring是包含了众多工具方法的IoC容器.那么问题来了,什么是容器,什么是IOC容器?下面就一起来看看吧 1.什么是容器? 容器就是用来荣南某种物品的装置,前面我们也是学了很多容器的,类似于List/Map就是一个存储数据的容器,Tomcat就是一个存储Web项目的容器. 2.什么是IOC? IOC(inversion of Con

  • Spring Boot详解创建和运行基础流程

    目录 1. 初始 Spring Boot 1.1 什么是Spring Boot 1.2 Spring Boot 的优点 2. 创建 Spring Boot 项目(Idea) 2.1 首先安装 Spring Assistant 插件 2.2 重启Idea-New Project ① 点击 Spring Assistant 直接Next就可以了 ② Next 之后的页面介绍 ③ 引入依赖, 选择Spring Boot的版本 ④ 选择项目名称和保存路径 ⑤ Spring Boot 项目创建完成 3.

  • Spring零基础到进阶之使用方法详解

    目录 一.Spring的创建和使用 1.创建一个Maven项目 2.添加Spring框架支持 3.添加启动类 二.存储Bean 1.添加配置文件(非第一次省略此步) 2.创建Bean对象 2.1.创建Bean对象 2.2.将Bean对象注入到Spring中 三.获取并使用 Bean 对象 1.先得到Spring上下文对象 2.再通过上下文提供的方法获取到Bean对象 3.使用Bean对象 今天介绍一下Spring的基本使用,为了更好的熟悉Spring,可以先看一下我前面的文章: Spring鸿蒙

  • Mysql的基础使用之MariaDB安装方法详解

    我首次用mysql是在ubuntu上,现在用的是linux 中的Red Hat 分支的centOS 7 ,安装时发现通常用的都是MariaDB 来代替mysql,通过资料查询发现Mariadb是mysql的其中的一种分支,由mysql的创始人带领的团队所开发的mysql分支的一种版本,因为mysql受到被Oracle收购后的日渐封闭与缓慢的更新,众多Linux发行版逐渐抛弃了这个人气开源数据库,使MySQL在各大Linux发行版中的失势由于不满MySQL被Oracle收购后的日渐封闭与缓慢的更新

  • Spring Security实现接口放通的方法详解

    目录 1.SpringBoot版本 2.实现思路 3.实现过程 3.1新建注解 3.2新建请求枚举类 3.3判断Controller方法上是否存在该注解 3.4在SecurityConfig上进行策略的配置 3.5在Controller方法上应用 3.6效果展示 在用Spring Security项目开发中,有时候需要放通某一个接口时,我们需要在配置中把接口地址配置上,这样做有时候显得麻烦,而且不够优雅.我们能不能通过一个注解的方式,在需要放通的接口上加上该注解,这样接口就能放通了.答案肯定是可

  • Spring根据URL参数进行路由的方法详解

    前言 本文主要介绍了关于Spring根据URL参数进行路由的相关内容,分享出来供大家参考学习价值,下面来一起看看详细的介绍吧. 发现问题 最近在写接口的时候发现一个问题,就是两个REST接口的URL的path部分是一样的,根据query传入不同的参数来区分. 比如S3普通上传接口是是: PUT /{bucketname}/{ objectname} 分块上传的接口是: PUT /{bucketname}/{objectname}?partNumber={partNumber}&uploadId=

  • JavaScript基础系列之函数和方法详解

    目录 一.函数和方法的区别 二.如何写好一个函数 2.1 命名准确 2.1.1 函数命名 2.1.2 参数命名 2.2 函数注释 2.2.1 参数注释 2.3  函数参数 2.3.1 参数默认值 2.3.2 对象参数 2.3.3 参数数量 2.3.4 参数类型防御 2.4 函数的返回 2.4.1 幂等函数 2.4.2 纯函数 2.4.3 return null 函数和方法的区别 总结 一.函数和方法的区别 函数(function):函数是带有名称和参数的 JavaScript 代码段,可以一次定

  • Spring Boot中使用Spring-data-jpa的配置方法详解

    为了解决这些大量枯燥的数据操作语句,我们第一个想到的是使用ORM框架,比如:hibernate.通过整合Hibernate之后,我们以操作Java实体的方式最终将数据改变映射到数据库表中. 为了解决抽象各个Java实体基本的"增删改查"操作,我们通常会以泛型的方式封装一个模板Dao来进行抽象简化,但是这样依然不是很方便,我们需要针对每个实体编写一个继承自泛型模板Dao的接口,再编写该接口的实现.虽然一些基础的数据访问已经可以得到很好的复用,但是在代码结构上针对每个实体都会有一堆Dao的

  • Spring boot中PropertySource注解的使用方法详解

    前言 本文将重点讲解一下Spring中@PropertySource注解的使用,如何通过PropertySource注解加载指定的配置文件.以及PropertySource注解与@ConfigurationProperties两个注解的配合使用.下面话不多说了,来随着小编来一起学习学习吧. 1.1. PropertySource注解加载指定的属性文件 Spring框架提供了PropertySource注解,目的是加载指定的属性文件,接下来我们看一下如何使用该注解.首先我们定义一个配置类,并在类中

  • Spring AOP面向切面编程实现原理方法详解

    1. 什么是AOP AOP (Aspect Oriented Programming)意为:面向切面编程,通过预编译方式和运行期动态代理实现在不修改源代码的情况下,给程序动态统一添加功能的一种技术,可以理解成动态代理.是Spring框架中的一个重要内容.利用 AOP 可以对业务逻辑的各个部分进行隔离,使业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高开发的效率 2. Spring AOP ①. AOP 在Spring中的作用 提供声明式事务:允许用户自定义切面 ②. AOP 的基本概

  • Android基础控件RadioGroup使用方法详解

    本文为大家分享了Android基础控件RadioGroup的使用,供大家参考,具体内容如下 1.简单介绍 RadioGroup可以提供几个选项供用户选择,但只能选择其中的一个.其下面可以横着或者竖着挂几个RadioButton,也可以挂载其他控件(如TextView).RadioGroup的相应事件一般不由下面的RadioButton响应,而是直接由RadioGroup响应.实现RadioGroup.OnCheckedChangeListener接口即可监听RadioGroup.RadioBut

随机推荐