如何创建Spring项目以及如何使用?

简介: 如何创建Spring项目以及如何使用?

Spring 就是⼀个包含了众多⼯具⽅法的 IoC 容器,它具备两个最基本的功能: 将对象存储到容器(Spring)中;从容器中将对象取出来。

1.创建Spring项目

使⽤ Maven ⽅式来创建⼀个 Spring 项⽬,创建 Spring 项⽬和 Servlet 类似,总共分为以下3步:

1. 创建⼀个普通 Maven 项⽬。

2. 添加 Spring 框架⽀持(spring-context、spring-beans)。

3. 添加启动类。

1. 创建⼀个普通 Maven 项⽬:


2.添加 Spring 框架⽀持(spring-context、spring-beans):

在项⽬的 pom.xml 中添加 Spring 框架的⽀持,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:管理对象的模块。

3.添加启动类:

最后在创建好的项⽬ java ⽂件夹下创建⼀个启动类,包含 main ⽅法即可:

public class APP {
    public static void main(String[] args) {
    }
}

2.将对象存储在Spring中

存储 Bean 对象分为以下 2 步:

1. 存储 Bean 之前,先得有 Bean 才⾏,因此先要创建⼀个 Bean。

2. 将创建的 Bean 注册到 Spring 容器中。

具体实现如下:

创建 Bean对象:Bean 就是 Java 语⾔中的⼀个普通对象,实现代码如下:

public class User {
    public void sayHi(String name){
        System.out.println("hello " + name);
    }
}


将 Bean 注册到容器:(建立Spring配置文件: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>

id可以不等于class里面的类名,但是要尽量符合规范。类名使用大驼峰,id通常使用小驼峰。

3.从Spring中取出对象

先得到Spring上下文对象:

获取bean,根据上下文对象得到getBean方法:


那么ApplicationContext和BeanFactory有什么区别?

相同点:都可以实现从容器中获取bean,都提供了getBean的方法。

不同点:

1、ApplicationContext 属于BeanFactory的子类。BeanFactory只提供了基础访问Bean的方法,而ApplicationContext除了拥有BeanFactory的所有功能之外,还提供了更多的方法实现,比如对资源访问的支持、以及事件和传播等方面的支持。

2、从性能方面来说二者是不同,BeanFactory是按需加载Bean,ApplicationContext 是饿汉方式,在创建时会将所有的 Bean 都加载起来,以备以后使用。

getBean更多用法:

1、使用bean name 获取bean

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

2、根据bean type获取bean

User user = context.getBean(User.class) ;这个写法简单,但容易出问题。当同一个类型被注入到spring 中多次(多个)时候,就会报错。

3、根据bean name和类型获取bean

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

5.总结:

1. 操作容器之前,先要有容器,所以先要得到容器。

2. 存对象

a. 创建 Bean(普通类)。

b. 将 Bean 注册(配置)到 spring-confing.xml 中。

3. 取对象

a. 得到 Spring 上下⽂,并读取到 Spring 的配置⽂件。

b. 获取某⼀个 Bean 对象。

c. 使⽤ Bean 对象。


相关文章
|
1月前
|
Java Spring
【编程笔记】在 Spring 项目中使用 RestTemplate 发送网络请求
【编程笔记】在 Spring 项目中使用 RestTemplate 发送网络请求
94 0
|
1月前
|
SpringCloudAlibaba Java 持续交付
【构建一套Spring Cloud项目的大概步骤】&【Springcloud Alibaba微服务分布式架构学习资料】
【构建一套Spring Cloud项目的大概步骤】&【Springcloud Alibaba微服务分布式架构学习资料】
158 0
|
2月前
|
监控 IDE Java
Java项目调试实战:如何高效调试Spring Boot项目中的GET请求,并通过equalsIgnoreCase()解决大小写不一致问题
Java项目调试实战:如何高效调试Spring Boot项目中的GET请求,并通过equalsIgnoreCase()解决大小写不一致问题
45 0
|
2天前
|
Java Maven Docker
0.07 秒启动一个 SpringBoot 项目!Spring Native 很强!!
0.07 秒启动一个 SpringBoot 项目!Spring Native 很强!!
10 2
|
16天前
|
JSON 前端开发 Java
统一异常处理:让Spring Boot项目异常更优雅
统一异常处理:让Spring Boot项目异常更优雅
25 1
|
1月前
|
缓存 NoSQL Java
spring cache整合redis实现springboot项目中的缓存功能
spring cache整合redis实现springboot项目中的缓存功能
46 1
|
1月前
|
Java Shell API
通用Shell脚本执行Spring Boot项目Jar包
通用Shell脚本执行Spring Boot项目Jar包
|
1月前
|
存储 Java 关系型数据库
Spring Batch学习记录及示例项目代码
Spring Batch学习记录及示例项目代码
|
1月前
|
安全 Java 应用服务中间件
新版idea(2023)创建spring boot3项目
新版idea(2023)创建spring boot3项目
144 1
|
1月前
|
算法 Java Maven
Spring Boot项目Jar包加密基本概念
Jar包加密是一种将Spring Boot项目的Jar包进行加密的技术,以保护项目中的代码和资源不被未授权访问和篡改。通过Jar包加密,可以将Jar包中的所有文件转换成加密的格式,只有拥有正确密钥的客户端才能解密和访问这些文件。
75 0