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

 更新时间:2022年07月11日 10:48:38   作者:栋zzzz  
Spring框架是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。 Spring解决了开发者在J2EE开发中遇到的许多常见的问题,提供了功能强大IOC、AOP及Web MVC等功能

今天介绍一下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使用方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Redis有效时间设置以及时间过期处理操作

    Redis有效时间设置以及时间过期处理操作

    这篇文章主要介绍了Redis有效时间设置以及时间过期处理操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • mybatis如何实现in传入数组查询

    mybatis如何实现in传入数组查询

    这篇文章主要介绍了mybatis如何实现in传入数组查询方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • 前端和后端解决跨域问题的一些方式详解

    前端和后端解决跨域问题的一些方式详解

    跨域对于正在学习或者已经就业的前端同学而言,就是老朋友,只要涉及请求,前后端交互,开发阶段等关键字,都避不开跨域,这篇文章主要给大家介绍了关于前端和后端解决跨域问题的一些方式,需要的朋友可以参考下
    2024-07-07
  • 解决spring cloud zuul与nginx的域名转发问题

    解决spring cloud zuul与nginx的域名转发问题

    这篇文章主要介绍了spring cloud zuul与nginx的域名转发问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • 最长重复子数组 findLength示例详解

    最长重复子数组 findLength示例详解

    今天给大家分享一道比较常问的算法面试题,最长重复子数组 findLength,文中给大家分享解题思路,结合示例代码介绍的非常详细,需要的朋友参考下吧
    2023-08-08
  • java实现解析json复杂数据的方法详解

    java实现解析json复杂数据的方法详解

    这篇文章主要为大家详细介绍了java如何实现解析json复杂数据,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以学习一下
    2024-01-01
  • springboot 2.3之后消失的hibernate-validator解决方法

    springboot 2.3之后消失的hibernate-validator解决方法

    这篇文章主要介绍了springboot 2.3之后消失的hibernate-validator解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Spring中的Aware接口详细解析

    Spring中的Aware接口详细解析

    这篇文章主要介绍了Spring中的Aware接口详细解析,Aware是一个具有标识作用的超级接口,具体实现是有子接口去决定的,但是子接口至少要有一个带一个参数的且返回是空的方法,需要的朋友可以参考下
    2023-12-12
  • java中DelayQueue实例用法详解

    java中DelayQueue实例用法详解

    在本篇内容里小编给大家分享的是一篇关于java中DelayQueue实例用法详解内容,有需要的朋友们可以跟着学习下。
    2021-01-01
  • Java synchronize线程安全测试

    Java synchronize线程安全测试

    这篇文章主要介绍了Java synchronize线程安全测试,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04

最新评论