Spring的基本使用

122 篇文章 1 订阅
120 篇文章 1 订阅

???大家好我是,今天介绍一下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对象了:
有以下三种写法:
通过bean name来获得bean对象:

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

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

另外这里的getBean方法不止有这一种方法,还有其他获取到Bean对象的方法:
可以在参数里面通过bean type来获得bean对象例如:

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

通过这样的写法也是可以的,也更加简单也不再需要进行强制类型转换了,但是这样写会出现其他的问题,当一个类被传入到spring中一次可以,但是传入多次的时候,就会报错在这里插入图片描述
在这里插入图片描述
报错发现查到了两个user对象,不知道取哪一个了,因此当类被传入多次就会出错!

另外还可以根据bean name和type来获取bean对象:

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

这样的写法也不需要强制类型转换,如果bean对象为null也就不会报错了,而且传入多次也不会报错了!

?? 3.使用Bean对象

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

user.func("朋友");

在这里插入图片描述
这就成功使用了,也就获取到此对象了!


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

在这里插入图片描述

先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鱼香Ross

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值