创建第一个 Spring 项目(IDEA社区版)

创建 Spring 项目

创建一个普通的 Maven 项目

首先创建一个普通的 Maven 项目

image-20240125161144363

image-20240125161300778

添加 Spring 依赖

在项⽬的 pom.xml 中添加 Spring 框架的⽀持

image-20240125161459786

<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>

注意在xml 文件里添加代码后只是声明了而已,项目并没有加载,需要点击:

image-20240125161650187

刷新加载依赖。

这个重新加载依赖默认是从国外的官网去下载的,因此速度会很慢。

需要更换IDEA 的源为国内源

IDEA更换国内源

第一步打开IDEA的设置里找到 Maven 的设置选项栏

image-20240125161924606

第二步:查看 “User settings file”该栏上的路径里是否存在 “settings.xml”文件,如果没有手动创建 settings.xml 文件并添加以下代码

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <pluginGroups>
    </pluginGroups>
    <proxies>
    </proxies>
    <servers>
    </servers>
    <mirrors>
       <mirror>
            <id>alimaven</id>
            <name>aliyun maven</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
            <mirrorOf>central</mirrorOf>        
          </mirror>
    </mirrors>
    <profiles>
    </profiles>
</settings>

第三步:添加完 settings.xml 文件后,将该路径下的 repository 文件夹下的所有文件都删掉之后重新下载加载依赖

image-20240125162523859

等待完成即可

运行第一个 Spring 项目

新建启动类

上述说明已经是成功的创建了一个 Spring 项目了,接下来就将项目运行起来。

首先需要在 src下的main下的java里新建一个启动类,这个启动类里包含了main方法

image-20240125163002617

Spring 项目的运行都是从这个main方法开始的

存储 Bean 对象

对于 Spring 而言每一个存到里面的对象都称为 Bean 对象。也就是说我们需要用到什么类都得先写好类之后存到 Spring 中

例如 现在新建了一个学生类

image-20240125163447211

将Bean注册到Spring

那么有了 Bean 之后就得将 Bean 注册到 Spring 中。这就的借助一个 xml文件。

在 src中的main中的resources中新建一个 xml 文件并写入如下代码

image-20240125163740360

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:content="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
                           http://www.springframework.org/schema/beans/spring-beans.xsd
                           http://www.springframework.org/schema/context
                           https://www.springframework.org/schema/context/spring-context.xsd">
</beans>

上述的代码和操作是固定不变的,然后在 beans 中加入我们需要注册的 Bean,操作如下

image-20240125163940969

<bean id="student" class="spring.demo.Student"></bean>
  1. 在bean里面的 id属性就是注册到Spring中该Bean的标识,可任取但是获取Bean的时候需要用到,因此推荐合理合规的取名
  2. 在bean里面的class属性是注册的这个Bean所在的路径,从java这个包下的子包开始算起

获取并使用 Bean 对象

上述已经将 Bean 注册到 Spring 中了,那么接下来就开始从 Spring 中获取到 Bean 对象去进行使用

首先这个 Bean 已经是在 Spring 中了,所以需要先获取到 Spring 的上下文对象,然后从该对象中获取到 Bean 对象。以下操作均在启动类中进行

获取Bean对象的方法有很多种,本文章不深究方法,仅介绍 Spring 项目的运行

// 获取 Spring 的上下文对象
ApplicationContext context =
    new ClassPathXmlApplicationContext("spring-config.xml");

这里需要特别注意,传的参数必须与刚刚所建的xml文件名一致,并且需要带上 .xml 后缀名

// 获取 Bean 对象
Student student = (Student) context.getBean("student");

注意:需要获取哪个 Bean 对象,就需要传入在注册 Bean使所设置的id属性的值

// 使用 Bean 对象
student.print("hello world");

获取到Bean 对象后就可以正常使用对象了

运行项目即可

image-20240125165207556

可以看到 Student类的构造函数也被执行了,说明将Student类存入到Spring时,Spring存的就是Student类的实例

相关推荐

  1. 第一Flask项目(pycharm社区)

    2024-01-26 14:46:05       55 阅读
  2. 创建第一electron项目

    2024-01-26 14:46:05       50 阅读
  3. 创建第一SpringBoot项目

    2024-01-26 14:46:05       52 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-26 14:46:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-26 14:46:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-26 14:46:05       82 阅读
  4. Python语言-面向对象

    2024-01-26 14:46:05       91 阅读

热门阅读

  1. 常见的前端打包构建工具有哪些

    2024-01-26 14:46:05       49 阅读
  2. 指针与引用的区别

    2024-01-26 14:46:05       53 阅读
  3. 前端同时上传json对象和MultipartFile文件

    2024-01-26 14:46:05       52 阅读
  4. React 表单、处理受控表单组件、非受控组件

    2024-01-26 14:46:05       44 阅读
  5. Nginx

    Nginx

    2024-01-26 14:46:05      35 阅读
  6. 前端demo: 将传入文件压缩到不超过指定大小(M)

    2024-01-26 14:46:05       53 阅读
  7. ubuntu 22.04 怎么安装websocat

    2024-01-26 14:46:05       56 阅读
  8. 【git】记录一个git error解决方法

    2024-01-26 14:46:05       54 阅读
  9. js中将回调地狱改装成promise方式的函数

    2024-01-26 14:46:05       53 阅读
  10. C语言sizeof 不是函数吗?

    2024-01-26 14:46:05       44 阅读
  11. YAML语法记录

    2024-01-26 14:46:05       55 阅读
  12. 关于SQLite 的下载与使用。配合python

    2024-01-26 14:46:05       60 阅读
  13. mysql面试题合集-分布式

    2024-01-26 14:46:05       54 阅读
  14. 玩转浏览器开发者工具

    2024-01-26 14:46:05       52 阅读