⭐️前言⭐️
在了解了Spring的核心与设计思想以后,下边就是Spring的具体使用,这篇文章主要介绍Spring项目的创建和Bean对象的存放与取出。
博客主页: 【如风暖阳】
精品Java专栏【JavaSE】、【备战蓝桥】、【JavaEE初阶】、【MySQL】、【数据结构】
欢迎点赞 收藏 ⭐留言评论 私信必回哟本文由 【如风暖阳】 原创,首发于 CSDN
博主将持续更新学习记录收获,友友们有任何问题可以在评论区留言
博客中涉及源码及博主日常练习代码均已上传码云(gitee)、GitHub
使用Maven的方式来创建一个Spring项目,创建Spring项目和Servlet类似,总共分为三步:
a)先创建一个maven项目
b)添加spring框架支持(spring-context、spring-beans)
c)创建一个启动类并添加main
在项目的pom.xml
中添加Spring的框架支持,xml配置如下:
<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>
最后在创建好的项目的java文件夹下创建一个启动类,包含main方法即可:
public class App {
public static void main(String[] args) {
System.out.println("hello,Spring!");
}
}
完成该流程需要三步(或两步,第一次添加bean对象需要三步)
将创建好的项目中添加Spring配置文件spring-config.xml
,将此文件放到resources
的根目录下,如下图所示:
配置文件的内容如下,无需记忆,再次使用时复制粘贴即可:
<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>
所谓的Bean就是Java中一个普通的对象,实现代码如下:
package com.beans;
/**
* 普通的bean对象
*/
public class User {
public void sayHello(String name) {
System.out.println("你好:"+name);
}
}
其中id
与class
的关系就相当于Map
中的Key-Value
键值对关系,bean id通常使用与类名对应的小驼峰命名。
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class App {
public static void main(String[] args) {
ApplicationContext context=
new ClassPathXmlApplicationContext("spring-config.xml");
}
}
注意配置文件的名字一定要对应。
getBean的其他用法:
1.根据bean type获取bean
User user=context.getBean(User.class);
这种写法是最简单的,但容易出问题。当用一个类型注入到spring中多次的时候就会报错,程序猿可根据实际情况决定是否要使用。
2.根据bean name和类型获取bean
User user=context.getBean("user",User.class);
就像使用普通的Java对象一样来使用:
user.sayHello("张三");
从Spring中将bean对象读取出来不仅仅有以上一种,通过ApplicationContext
上下文获取对象的方法,还可以通过BeanFactory
的方法来获取:
那么上边这两种方法都可以从Spring容器中获取到bean对象,这两个方法有什么区别呢?
相同点:
都可以实现从容器中获取bean,都提供了getBean的方法。
不同点:
如果资源允许的条件下使用ApplicationContext,能够再后续使用Bean对象时更快。
⭐️最后的话⭐️
总结不易,希望uu们不要吝啬你们的哟(^U^)ノ~YO!!如有问题,欢迎评论区批评指正