电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Java 如何從spring容器中獲取注入的bean對象

瀏覽:3日期:2022-08-21 16:11:41

1.使用場景

控制層調用業務層時,控制層需要拿到業務層在spring容器中注入的對象

2.代碼實現

import org.apache.struts2.ServletActionContext;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import org.springframework.web.context.WebApplicationContext;import org.springframework.web.context.support.WebApplicationContextUtils;

/** * 從spring容器中獲取注入的bean對象 * @explain 必須獲取到ServletContext對象,Controller層以struts2為例 * @author Marydon * @creationTime 2018年6月1日上午10:06:49 * @version 1.0 * @since * @email marydon20170307@163.com */public final class BeansUtils { private static final Logger logger = LoggerFactory.getLogger(BeansUtils.class); private static ApplicationContext ctx; private static WebApplicationContext webCtx; // 靜態代碼塊:加載該類時會被運行的代碼 static { if (ctx == null) { try {// 入參需要拿到ServletContext對象webCtx = WebApplicationContextUtils .getRequiredWebApplicationContext(ServletActionContext.getServletContext());logger.info('從web.xml容器中加載spring-config.xml'); } catch (Exception e) {logger.info('直接加載spring-config.xml'); } if (webCtx == null)// 你可以自定義spring配置文件的文件名ctx = new ClassPathXmlApplicationContext('spring-config.xml'); } } /** * 通過beanID獲取bean實例 * * @param beanID * bean的代碼 * @return 返回對應的實例 * @throws RuntimeException * bean沒有定義 */ public static Object getBeanInstance(String beanID) throws RuntimeException { logger.info('在spring容器中獲取Bean對象 ID=' + beanID); Object obj; if (BeansUtils.ctx == null) { if (BeansUtils.webCtx.containsBeanDefinition(beanID)) {obj = BeansUtils.webCtx.getBean(beanID); } else {logger.info('beanID=' + beanID + '沒有定義');throw new RuntimeException(beanID + '沒有定義!'); } } else { if (BeansUtils.ctx.containsBeanDefinition(beanID)) {obj = BeansUtils.ctx.getBean(beanID); } else {logger.info('beanID=' + beanID + '沒有定義');throw new RuntimeException(beanID + '沒有定義!'); } } return obj; }}

以上就是Java 如何從spring容器中獲取注入的bean對象的詳細內容,更多關于Java獲取bean對象的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
主站蜘蛛池模板: 江西自考网| 学叉车培训|叉车证报名|叉车查询|叉车证怎么考-工程机械培训网 | 电梯乘运质量测试仪_电梯安全评估测试仪-武汉懿之刻 | 首页|专注深圳注册公司,代理记账报税,注册商标代理,工商变更,企业400电话等企业一站式服务-慧用心 | 致胜管家软件服务【在线免费体验】 | 磁力轮,磁力联轴器,磁齿轮,钕铁硼磁铁-北京磁运达厂家 | 无硅导热垫片-碳纤维导热垫片-导热相变材料厂家-东莞市盛元新材料科技有限公司 | 辊道窑炉,辊道窑炉厂家-山东艾希尔 | 淄博不锈钢,淄博不锈钢管,淄博不锈钢板-山东振远合金科技有限公司 | 房车价格_依维柯/大通/东风御风/福特全顺/江铃图片_云梯搬家车厂家-程力专用汽车股份有限公司 | 胶水,胶粘剂,AB胶,环氧胶,UV胶水,高温胶,快干胶,密封胶,结构胶,电子胶,厌氧胶,高温胶水,电子胶水-东莞聚力-聚厉胶粘 | 潍坊青州古城旅游景点攻略_青州酒店美食推荐-青州旅游网 | 手持气象站_便携式气象站_农业气象站_负氧离子监测站-山东万象环境 | 济南ISO9000认证咨询代理公司,ISO9001认证,CMA实验室认证,ISO/TS16949认证,服务体系认证,资产管理体系认证,SC食品生产许可证- 济南创远企业管理咨询有限公司 郑州电线电缆厂家-防火|低压|低烟无卤电缆-河南明星电缆 | 锡膏喷印机-全自动涂覆机厂家-全自动点胶机-视觉点胶机-深圳市博明智控科技有限公司 | 东莞画册设计_logo/vi设计_品牌包装设计 - 华略品牌设计公司 | 金刚网,金刚网窗纱,不锈钢网,金刚网厂家- 河北萨邦丝网制品有限公司 | MTK核心板|MTK开发板|MTK模块|4G核心板|4G模块|5G核心板|5G模块|安卓核心板|安卓模块|高通核心板-深圳市新移科技有限公司 | 润东方环保空调,冷风机,厂房车间降温设备-20年深圳环保空调生产厂家 | 水厂污泥地磅|污泥处理地磅厂家|地磅无人值守称重系统升级改造|地磅自动称重系统维修-河南成辉电子科技有限公司 | 渣油泵,KCB齿轮泵,不锈钢齿轮泵,重油泵,煤焦油泵,泊头市泰邦泵阀制造有限公司 | 双能x射线骨密度检测仪_dxa骨密度仪_双能x线骨密度仪_品牌厂家【品源医疗】 | 幂简集成 - 品种超全的API接口平台, 一站搜索、试用、集成国内外API接口 | 柴油发电机组_柴油发电机_发电机组价格-江苏凯晨电力设备有限公司 | 耐热钢-耐磨钢-山东聚金合金钢铸造有限公司 | 多功能干燥机,过滤洗涤干燥三合一设备-无锡市张华医药设备有限公司 | ★店家乐|服装销售管理软件|服装店收银系统|内衣店鞋店进销存软件|连锁店管理软件|收银软件手机版|会员管理系统-手机版,云版,App | PU树脂_水性聚氨酯树脂_聚氨酯固化剂_聚氨酯树脂厂家_宝景化工 | 紫外荧光硫分析仪-硫含量分析仪-红外光度测定仪-泰州美旭仪器 | 右手官网|右手工业设计|外观设计公司|工业设计公司|产品创新设计|医疗产品结构设计|EMC产品结构设计 | 家德利门业,家居安全门,别墅大门 - 安徽家德利门业有限公司 | 煤机配件厂家_刮板机配件_链轮轴组_河南双志机械设备有限公司 | 三效蒸发器_多效蒸发器价格_四效三效蒸发器厂家-青岛康景辉 | 杜康白酒加盟_杜康酒代理_杜康酒招商加盟官网_杜康酒厂加盟总代理—杜康酒神全国运营中心 | 政府回应:200块在义乌小巷能买到爱情吗?——揭秘打工族省钱约会的生存智慧 | 高效节能电机_伺服主轴电机_铜转子电机_交流感应伺服电机_图片_型号_江苏智马科技有限公司 | 电子万能试验机_液压拉力试验机_冲击疲劳试验机_材料试验机厂家-济南众标仪器设备有限公司 | 耐磨陶瓷管道_除渣器厂家-淄博浩瀚陶瓷科技有限公司 | 深圳装修_店面装修设计_餐厅设计_装修全包价格-尚泰装饰设计 | 屏蔽泵厂家,化工屏蔽泵_维修-淄博泵业 | POM塑料_PBT材料「进口」聚甲醛POM杜邦原料、加纤PBT塑料报价格找利隆塑料 |