如何创建一个Spring项目并使用

简介: 如何创建一个Spring项目并使用

一. 创建 Spring 项目



  1. 如何创建一个Spring项目并使用
  2. 添加 Spring 框架(Spring-context、Spring-beans)
  3. 添加启动类


1. 创建一个 Maven 项目

79631b047ccb4ef487c2956feaf19224.png

对于初学可以暂时不是用以上模板, 简单的创建一个 Maven 项目即可

4850ba1e1dc04da2a9b1b1f2c0920e49.png


最后点击 Finish 就简单的创建好了一个 Maven 项目


2. 添加 Spring 框架


添加依赖到 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:管理对 象的模块

image.png


3. 添加启动类


创建一个启动类, 包含 main 方法即可

e9311d9c53394679be2d968fd8f36b87.png


完成上述三步以后, 则算简单完成了一个Spring项目的创建, 下面就可以简单的在该项目中进行存储 Bean 和 使用 Bean 了


二. Spring 项目中的 Bean 的存储



在 Spring 中, 最基本的就是 对 Bean 的创建和存储了


1. 创建 Bean 对象


想要存储到 Spring 容器, 需要创建一个 Bean 对象, 而所谓的 Bean对象其实就是一个普通的 Java 对象

ee9887c345dc4b61bc2746dfa15f158e.png


2. 将 Bean 对象存储到 容器中


在添加之前到容器中之前, 需要在 resources 根目录下创建一个配置文件 spring-config.xml(该名称可以自己取)

image.png


该配置文件下的内容时固定的, 可以理解为 pom.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"
       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>


f324f3da767a4e4eb486efba2b830751.png


然后, 就可以存取 Bean 对象了. 将 Student 对象注册到 Spring 中

image.png


三. Bean 对象的获取和使用



获取 Bean 对象大致分为以下几步

1. 获取 Spring 上下文对象

2. 通过 Spring 上下文获取指定 Bean 对象

3. 使用 Bean 对象


1. 获取 Spring 上下文对象


第一种方式


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


通过引入的 spring - context 提供的上下文对象

4f41b593f6f04d078783e59c6e62e9e5.png


 第二种方式


ClassPathXmlApplicationContext context1 = new ClassPathXmlApplicationContext("spring-config.xnl");


ClassPathXmlApplicationContext 是 BeanFactory 的子类

d0aa649e2a204581933380ab5797d12d.png


上述两种方式, 都是通过去读取配置文件获取 spring 上下文对象


那么, ApplicationCont 和 BeanFactory 有什么区别呢?

  • ApplicationContext 是 BeanFactory 的一个子类
  • BeanFactory 提供了基础的访问容器的能力, 而 ApplicationContext 除了继承了 BeanFactory 的功能之外, 还拥有独特的特性, 如资源访问支持, 国际化支持, 事件传播等
  • 性能方面, ApplicationContext 是一次性加载并初始化所有的 Bean 对象, 属于单例模式, 而 BeanFactory 是需要那个才去加载那个, 属于懒加载, 因此更加轻量


2. 通过 Spring 上下文获取指定 Bean 对象


第一种


f4f10a965a5c4d168644a0310c9543cb.png


可以看到, getBean提供了两种方法, 对于第一种, 传入的是一个String s(为配置文件中所需的 Bean标签里的 id 名称),  Class aClass (Bean对象类名)

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


第二种


只需要提供 Bean 对象 id 即可获取, 获取的是一个 Object 对象, 需要强转为所需的类 类型

24904100c1e24552bba8365acfd7c23e.png

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


那么第二种和第三种有什么区别呢?


当一个对象被重复注入到 Spring 中时, 如果只根据 类 类型来获取 Bean 对象, 会找不到所需要的 Bean对象而报错

b39604a0e38a4e8c9c7867fec8812554.png


运行结果

91a0824412974ec3a2a6d39a4cdf535c.png


当同一个对象注入两次以后, 尝试去获取 Bean 对象, 无法获取唯一的 Bean 从而找不到 Bean对象, 此时可以通过加上 id 或只通过 id 来获取 Bean对象, 因此在后面的使用中, 更推荐使用第一种 id 和类对象的方式来获取 Bean 对象


需要注意的是, 获取 Bean 对象时, 提供的 Id 要和 spring-config.xml 文件中存的 Bean 对象的 Id一致


3. 使用 Bean 对象


可以成功的调用之前创建的 Bean 对象 Student 中的 fun 方法


6d6d43dca9024377b63b7c7c90eac2e8.png


相关文章
|
7天前
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
18 2
|
1月前
|
设计模式 前端开发 Java
Spring MVC——项目创建和建立请求连接
MVC是一种软件架构设计模式,将应用分为模型、视图和控制器三部分。Spring MVC是基于MVC模式的Web框架,通过`@RequestMapping`等注解实现URL路由映射,支持GET和POST请求,并可传递参数。创建Spring MVC项目与Spring Boot类似,使用`@RestController`注解标记控制器类。
34 1
Spring MVC——项目创建和建立请求连接
|
1月前
|
Java 关系型数据库 MySQL
Maven——创建 Spring Boot项目
Maven 是一个项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,简化了项目的构建和管理过程。其核心功能包括项目构建和依赖管理,支持创建、编译、测试、打包和发布项目。Maven 仓库分为本地仓库和远程仓库,远程仓库包括中央仓库、私服和其他公共库。此外,文档还介绍了如何创建第一个 SpringBoot 项目并实现简单的 HTTP 请求响应。
117 1
Maven——创建 Spring Boot项目
|
1月前
|
Java 关系型数据库 MySQL
如何使用 maven 创建一个 Spring Boot项目
Maven 是一个强大的项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,提高开发效率。其核心功能包括项目构建和依赖管理。项目构建支持编译、测试、打包和发布等流程,而依赖管理则通过中央仓库、本地仓库和私有服务器获取和管理项目依赖。示例中展示了如何创建第一个 SpringBoot 项目并实现简单接口。
26 1
如何使用 maven 创建一个 Spring Boot项目
|
1月前
|
Java 应用服务中间件 Android开发
Eclipse创建Spring项目
本文介绍了在Eclipse中创建Spring项目的步骤,包括如何配置Tomcat服务器、创建项目、部署项目到Tomcat以及添加Spring框架所需的JAR包。
53 1
Eclipse创建Spring项目
|
1月前
|
Java Apache Maven
Java/Spring项目的包开头为什么是com?
本文介绍了 Maven 项目的初始结构,并详细解释了 Java 包命名惯例中的域名反转规则。通过域名反转(如 `com.example`),可以确保包名的唯一性,避免命名冲突,提高代码的可读性和逻辑分层。文章还讨论了域名反转的好处,包括避免命名冲突、全球唯一性、提高代码可读性和逻辑分层。最后,作者提出了一个关于包名的问题,引发读者思考。
Java/Spring项目的包开头为什么是com?
|
1月前
|
前端开发 Java 应用服务中间件
【Spring】Spring MVC的项目准备和连接建立
【Spring】Spring MVC的项目准备和连接建立
54 2
|
1月前
|
XML Java 应用服务中间件
【Spring】运行Spring Boot项目,请求响应流程分析以及404和500报错
【Spring】运行Spring Boot项目,请求响应流程分析以及404和500报错
168 2
|
1月前
|
前端开发 安全 Java
【Spring】Spring Boot项目创建和目录介绍
【Spring】Spring Boot项目创建和目录介绍
84 2
|
1月前
|
Java 应用服务中间件 Maven
idea+maven+tomcat+spring 创建一个jsp项目
这篇文章介绍了如何在IntelliJ IDEA中使用Maven和Tomcat创建一个JSP项目,包括配置Maven依赖、设置Tomcat服务器、编写JSP页面、创建控制器和配置文件,以及项目的运行结果。
170 0
idea+maven+tomcat+spring 创建一个jsp项目