一文掌握Spring的创建与使用
作者:渴望力量的土狗 发布时间:2022-01-24 19:28:38
Spring的创建
Spring的创建分为3个步骤:
1、创建一个Maven项目
2、添加Spring框架支持(spring-context,spring-beans)
3、添加启动类
1、创建Maven项目
创建完成后进行spring框架的添加
2、添加Spring框架支持(spring-context,spring-beans)
在pom.xml中添加Spring的框架支持:
打开Maven中央仓库:搜索Spring:
点开Spring Context选择一个5.x版本
复制依赖到pom.xml中
下载完就不再爆红
然后我们引入spring-beans依赖:(同样的步骤)
这是引入的依赖:
<dependencies>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.20</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.3.20</version>
</dependency>
</dependencies>
其中spring-context是spring上下文,spring-beans是管理对象的模块。
这一块出现这样就说明都引入成功了。
3、添加启动类
启动类就和平时创建一个普通类一样:
public class App {
public static void main(String[] args) {
System.out.println("Hello Spring");
}
}
启动类用来测试后面的代码。
至此一个Spring项目就创建完成了。再来看看怎么使用Spring项目
Spring的使用 (Bean对象的存取及使用)
Bean对象的存储
1、添加Spring的配置文件
在resources目录下创建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>
建议把这个配置保存在码云,用的时候直接去复制即可
2、创建Bean对象
新建一个类即可。
3、将Bean注册到容器中(在配置文件中进行配置)
<bean id="user" class="com.spring.demo.Bean.User"></bean>
Bean对象的获取
Bean对象的获取要2个步骤:
1、得到Spring上下文(对象都交给Spring了,所以获取的时候要下获取到Spring的上下文)
2、通过Spring上下文获取指定Bean对象
1、得到Spring上下文(对象都交给Spring了,所以获取的时候要下获取到Spring的上下文)
使用ApplicationContext来获取对象
1、得到Spring上下文
//获取Spring上下文
ApplicationContext context=new ClassPathXmlApplicationContext("spring-config.xml");
2、获取指定Bean对象
//获取指定Bean对象
User user = (User)context.getBean("user");
注意:
这是这个对象就可以进行使用了。
这样我们就可以不用new对象而能够使用对象了。
除了使用 ApplicationContext来获取对象外,我们还可以使用BeanFactory来获取对象
使用BeanFactory来获取对象
public static void main(String[] args) {
//获取Spring上下文
BeanFactory beanFactory=new XmlBeanFactory(new ClassPathResource("spring-config.xml"));
//获取Bean对象
User user= (User) beanFactory.getBean("user");
//使用bean
user.sayHi();
}
写到这里就有个面试题了:
ApplicationContext和BeanFactory的区别是什么
相同点:都可以从IoC容器当中获取bean。
不同点 :
从继承关系和功能方面:ApplicationContext继承于BeanFactory。BeanFactory只提供了最基础的访问bean的方法,而ApplicationContext除了拥有BeanFactory以外,还拥有一些其他的机制,例如:支持国际化,资源访问,事件传播等等
从性能方面: ApplicationContext 是?次性加载并初始化所有的 Bean 对象,?BeanFactory 是需要那个才去加载那个,因此更加轻量(ApplicationContext采用的是"饿加载"的方式来进行加载的。而BeanFactory采用的是"懒加载"的方式来进行加载的。)
关于getBean()的更多用法
1、根据bean的id获取bean
User user = (User)context.getBean("user");
user是该bean的id,且这个id只能存在一个,Spring容器中不能存在多个名称为user的bean
2、根据bean的类型获取bean
User user1 = context.getBean(User.class);
这种类型的好处是不用进行类型的强转,但是这个在出现容器中同一个类有多个对象注入的时候就会报错。因为不能确定是哪个对象。
3、根据bean的id和bean的类型获取bean(推荐使用)
User user2 = context.getBean("user",User.class);
这种写法既可以不用强制类型转换,也能够准确的获取到指定的bean对象,推荐使用这种方式。
来源:https://blog.csdn.net/m0_67995737/article/details/130229261


猜你喜欢
- 一、获取android工程里面的各种资源的id; 1.1 string型 比如下面: << string name=”OK”&g
- 前言一般情况下,当我们使用 SpringDataElasticsearch 去操作 ES 时,索引名
- 点击窗体任意位置移动窗体:需要添加命名空间:using System.Runtime.InteropServices;private con
- instanceof判断某个对象是否是某个类的实例或者某个类的子类的实例。它的判断方式大概是这样的:public<T> bool
- 这篇文章主要介绍了Spring Boot项目维护全局json数据代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考
- 要获取Java中的当前时间戳:Timestamp timestamp = new Timestamp(System.currentTimeM
- CamShift算法全称是“Continuously Adaptive Mean-Shift”(连续的自适应MeanShift算法),是对M
- 配置操作第一步操作如图:选择右侧的database页签,一般在idea的右边会有Database界面,点击它即可。有时候我们会发现这个Dat
- 一、文件上传的必要前提A form 表单的 enctype 取值必须是:multipart/form-data(默认值是:applicati
- 一、前言在mybatis官网中,有插件一说 mybatis plugins 如果同时有多个插件,那么他们的执行顺序是怎样的?二、准备工作、代
- 1:新建一个项目运行起来,可以看到顶部一直有个标题栏看着不是很美观2:有两种方法可以去除顶部标题栏(1)将代码中AndroidManifes
- 一般情况下每个spring boot工程启动都有固定的端口,但是固定端口不利用服务的动态扩容,如果在一台服务器上需要对同一个服务进行多实例部
- 此次简单的操作将数据从数据库导出生成excel报表以及将excel数据导入数据库首先建立数据库的连接池:package jdbc;impor
- 使用Java的NIO写的一个小的聊天系统,供大家参考,具体内容如下一、服务端/** * 群聊的服端 * * @author :breakpo
- 什么是JPA一种规范,并非ORM框架,也就是ORM上统一的规范spring-boot-starter-data-jpa 
- Java调用接口获取json数据保存到数据库今天给大家带来一个调用接口,来获取数据解析后再保存到数据库中的业务,业务中的Mapper和实体类
- 一、背景有些业务场景下需要将 Java Bean 转成 Map 再使用。以为很简单场景,但是坑很多。二、那些坑2.0 测试对象import
- 微信聊天窗口的信息效果类似iphone上的短信效果,以气泡的形式展现,在Android上,实现这种效果主要用到ListView和BaseAd
- 前言这篇博客介绍Java环境的配置,主要是安装JDK,以及path、JAVA_hOME、CLASSPAT的配置,还会介绍配置这些的原因。一.
- 1.一维数组名作为函数参数传递一位数组名,就相当于该数组的首个元素的地址;int a[10];int *p;p=a;//p=a与p=&