• Spring的基本使用


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

    在这里插入图片描述


    目录


    ?? 一.Spring的创建和使用

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

    ?? 1.创建一个Maven项目

    在这里插入图片描述
    在这里插入图片描述

    ?? 2.添加Spring框架支持

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

    
            
                org.springframework
                spring-context
                5.2.3.RELEASE
            
    
            
                org.springframework
                spring-beans
                5.2.3.RELEASE
            
        
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

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

    ?? 3.添加启动类

    在java 件夹下创建个启动类,包含 main 法即可:
    在这里插入图片描述

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

    在这里插入图片描述
    运行出结果就表示已将创建成功了!


    ?? 二.存储Bean

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

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

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

    
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    ?? 2.创建Bean对象

    ?? 2.1.创建Bean对象

    一个普通的Bean对象就可以

    package beans;
    public class User {
        public void func(String name){
            System.out.println("你好:" + name);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    ?? 2.2.将Bean对象注入到Spring中

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

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


    在这里插入图片描述

    ?? 三.获取并使用 Bean 对象

    ?? 1.先得到Spring上下文对象

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

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

    后面的文件就是上面所创建的配置文件名!
    除此之外,还可以通过BeanFactory获得到Spring的上下文对象:

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

    这两种方法效果都是一样的,不过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");
    
    • 1

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

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

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

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

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

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

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

    ?? 3.使用Bean对象

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

    user.func("朋友");
    
    • 1

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


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

    在这里插入图片描述

  • 相关阅读:
    Google Earth Engine(GEE)扩展——geetool中的的各类型的其它函数(字符串、数字、列表、字典、几何、特征、影像、地图和特征集合)
    【软考软件评测师】2012年下案例分析历年真题
    python常用pandas函数nlargest 和 nsmallest及其手动实现
    计算机服务器中了勒索病毒怎么解决,勒索病毒解密步骤数据恢复
    ubuntu 22.04.3 live server图文安装流程
    vue项目代码格式不统一怎么办?一招教你解决
    鸿鹄工程项目管理系统 Spring Cloud+Spring Boot+前后端分离构建工程项目管理系统
    基于SSH开发企业内部邮件系统
    基于C#的安全聊天工具设计
    手写 Vue2 系列 之 编译器
  • 原文地址:https://blog.csdn.net/m0_67393619/article/details/126041811