java类加入到spring容器_普通java类加入spring容器的四种方式
今天在自己开发的工具类中使用了spring注入的方式调用了其他类,但是发生的报错,在整理了后今天小结一下。
首先简单介绍下spring容器,spring容器是整个spring框架的核心,通常我们说的spring容器就是bean工厂,bean工厂负责创建和初始化bean、装配bean并且管理应用程序中的bean.spring中提供了两个核心接口:BeanFactory和ApplicationContext,ApplicationContext是BeanFactory子接口,它提供了比BeanFactory更完善的功能。
从上面可以看出所有依赖注入的类都必须要加入到spring容器中,由spring容器帮我们做类的事例化,管理我们的类,下面我们简单介绍下加入spring容器的四种方式(spring内置注解如@Controller、@Service这种就不讲解了)。
1、在项目启动时,通过@bean的方式将普通类事例化到spring容器中,如下
2、通过@component注解把普通pojo实例化到spring容器中,如下
3、通过实现ApplicationContextAwarej加载上下文的方式实现,如下
①实现ApplicationContextAware接口:
package cn.bravolinks.erp.prm_website.utils;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
@Component
public class SpringBeanFactoryUtils implements ApplicationContextAware {
private static ApplicationContext appCtx;
/**
* 此方法可以把ApplicationContext对象inject到当前类中作为一个静态成员变量。
* @param applicationContext ApplicationContext 对象.
* @throws BeansException
*/
@Override
public void setApplicationContext( ApplicationContext applicationContext ) throws BeansException {
appCtx = applicationContext;
}
/**
* 获取ApplicationContext
* @return
*/
public static ApplicationContext getApplicationContext(){
return appCtx;
}
/**
* 快速得到一个BEAN
* @param beanName bean的名字
* @return 返回一个bean对象
*/
public static Object getBean( String beanName ) {
return appCtx.getBean( beanName );
}
/**
* 快速得到一个BEAN
* @param clazz bean的类型
* @return
*/
public static T getBean(Class clazz){
return appCtx.getBean(clazz);
}
}
②spring容器创建实例
RestWorkFlowService restWorkFlowService = SpringBeanFactoryUtils.getBean(RestWorkFlowService.class);
4、通过spring配置文件中的实现,如下
java类加入到spring容器_普通java类加入spring容器的四种方式相关推荐
- java适合内向的人吗_性格内向的人最适合这四种工作!
从心理学的角度来讲,人的性格大致可以分为独立类型.乐观型.内向型和经验型,生活中可能我们每种类型的特点都会有一些,但是一般会有一个类型特点占的比重多一些,今天我们就来讲讲内向型的人有什么样的特点. 在 ...
- Java中数组转List的四种方式
第一种方式(未必最佳):使用ArrayList.asList(strArray) 使用Arrays工具类Arrays.asList(strArray)方式,转换完成后,只能对List数组进行查改,不能 ...
- Java 数组转List的四种方式
Java 数组转List的四种方式 第一种方式(未必最佳):使用ArrayList.asList(strArray) 使用Arrays工具类Arrays.asList(strArray)方式,转换 ...
- 通过@Import注解把类注入容器的四种方式
文章目录 1. @Import导入的四种方式 2. 准备工作 ①:导入普通类ConfigA ②:导入`@Configuration`配置类ConfigB ③:导入`ImportSelector`的实现 ...
- java中四种注入注解,Spring中依赖注入的四种方式
在Spring容器中为一个bean配置依赖注入有三种方式: · 使用属性的setter方法注入 这是最常用的方式: · 使用构造器注入: · 使用Filed注入(用于注解方式). 使用属性的sett ...
- java配置文件实现方式_java相关:详解Spring加载Properties配置文件的四种方式
java相关:详解Spring加载Properties配置文件的四种方式 发布于 2020-4-29| 复制链接 摘记: 一.通过 context:property-placeholder 标签实现配 ...
- mysql java 日期格式化_(转)java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)...
java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明);部分资料参考网络资源 1. java向MySQL插入当前时间的四种方式 第一种:将java.util.Date ...
- Java 创建类的四种方式
Java 创建类的四种方式 对于上学期已经学习过c++的同学,是不是对另一大编程语言产生了浓厚的兴趣,对于c++的面向对象编程,又和java的面向变量有何区别,下面我们从java四种创建对象来说起. ...
- java实现子序列最大和_算法入门:最大子序列和的四种算法(Java)
最近再学习算法和数据结构,推荐一本书:Data structures and Algorithm analysis in Java 3rd 以下的四种算法出自本书 四种最大子序列和的算法: 问题描述 ...
最新文章
- java8 内存模型_java8内存模型
- Dropout 理论基础与实战细节
- 修改windows默认远程管理端口
- PDF文件怎么转换成Word?这几种方法原来这么简单
- 【得物技术】机器学习在图形验证码识别上的应用
- 龙卷风“掀翻”亚拉巴马州 至少19人死亡
- ABeam Insight | 女性科技系列(2):全球女性科技(FemTech)现状
- 通过耳道形状来验证用户身份?苹果:未来,AirPods可能实现
- Somatic selection distinguishes oncogenes and tumor suppressor genes
- C#程序设计之windows应用程序设计基础
- lastfm 1k user 数据集简介
- 【连载】大学物理笔记——第一章末+第二章质点动力学
- c226打印机驱动安装_打印机驱动怎么装?网络打印机驱动的安装方法
- 零基础学习UI设计技能
- STM32入门开发--LED模块实现跑马灯
- 微信公众号关于百度地图和腾讯地图本地定位api的调用(js)
- 自定义漂亮的Android SeekBar样式
- 设计师学python有意义吗-如果你有设计师朋友,请对他好一些...
- 认识webpack、理解webpack与grunt、glup的核心区别01
- 桌面上的我的电脑、文件夹打开后只有在任务栏显示