• 【浅学Java】Spring的创建和使用


    1. 创建 Spring 项⽬

    1.1 创建一个普通的maven项目

    在这里插入图片描述

    在这里插入图片描述

    1.2 添加Spring框架支持(spring-context、spring-beans)

    在这里插入图片描述

    <dependencies>
            <dependency>
                <groupId>org.springframeworkgroupId>
                <artifactId>spring-contextartifactId>
                <version>5.2.3.RELEASEversion>
            dependency>
            <dependency>
                <groupId>org.springframeworkgroupId>
                <artifactId>spring-beansartifactId>
                <version>5.2.3.RELEASEversion>
            dependency>
        dependencies>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    1.3 添加启动类

    在Java目录下添加,启动类的名字不固定,注意使用大驼峰
    在这里插入图片描述

    2. 存储Bean对象

    2.1 创建Bean(即创建对象)

    在这里插入图片描述

    2.1 将Bean注册到容器

    在这里插入图片描述

    
    <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">
        <bean id="user" class="com.myclass.User">bean>
    beans>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    3. 获取并使用对象

    基本流程

    获取并使⽤ Bean 对象,分为以下 3 步:

    1. 得到 Spring 上下⽂对象,因为对象都交给 Spring 管理了,所以获取对象要从 Spring 中获取,那么
      就得先得到 Spring 的上下⽂。
    2. 通过 Spring 上下⽂,获取某⼀个指定的 Bean 对象。
    3. 使⽤ Bean 对象。
    public class App {
        public static void main(String[] args) {
            //1.获取Spring上下文对象
            ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
            //2.获取某个bean对象
            User user = (User)context.getBean("user");
            //3.使用bean对象
            user.sayHi();
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    获取Spring上下文的两种方式

    1. 使用ApplicationContext 获取Spring上下文
    ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
    
    • 1
    1. 使用BeanFactory 说去Spring上下文
    BeanFactory factory = new XmlBeanFactory(new ClassPathResource("spring-config.xml"));
    
    
    • 1
    • 2

    ApplicationContext 和 BeanFactory 的效果是一样的,ApplicationContext 属于是 BeanFactory 的子类,他们有如下区别:

    1. 继承关系和功能⽅⾯来说:⽽ ApplicationContext 属于 BeanFactory 的⼦类,它除了继承了 BeanFactory 的所有功能之外,它还拥有独特的特性,还添加了对国际化⽀持、资源访问⽀持、以及事件传播等⽅⾯的⽀持。
    2. 从性能⽅⾯来说:ApplicationContext 是⼀次性加载并初始化所有的 Bean 对象,⽽ BeanFactory是需要那个才去加载那个,因此更加轻量,即ApplicationContext 属于是饿汉模式,BeanFactory属于是懒汉模式。

    获取Bean对象的方式

    1. 通过id字符串来获取
    User user = (User)context.getBean("user");
    
    • 1
    1. 通过类名来获取
    User user = context.getBean(User.class);
    
    • 1
    1. 通过 id 和类名来获取(建议使用)
    User user = context.getBean("user", User.class);
    
    • 1

    注意:
    在这里插入图片描述

    当一个类被注册到Spring中两次时,就不能使用第二种方式了,因为通过User.class是不能确定是两个对象中的哪一个。

    因此建议使用第三种方式来获取类。

    4. 操作总结

    在这里插入图片描述

    1. 创建Spring对象
    1. 创建一个普通的maven项目
    2. 引入Spring相关的依赖
    3. 添加启动类
    1. 存储Bean对象
    1. 创建Bean对象
    2. 将创建好的对象注册到Spring容器中
    1. 使用并获取对象
    1. 获取Spring上下文
    2. 获取指定bean对象
    3. 使用Bean对象
  • 相关阅读:
    【tensorflow】制作自己的数据集
    嵌入式技术面试基本规则
    【MySQL】数据库排查慢查询、死锁进程排查、预防以及解决方法
    【每日一题】根据规则将箱子分类
    酷快讯:Eminem和Snoop Dogg无聊猿新MV加持后ApeCoin上涨22%
    jvm调优思路及调优案例
    滚珠螺杆应如何存放避免受损
    近期局势较多变化 适合黄金代理入场吗?
    SaaSBase:什么是探马SCRM?
    Linux安装omnet++
  • 原文地址:https://blog.csdn.net/qq_52276036/article/details/127723316