ZK Spring 整合View/Controller层属性注入

问题场景

ZK实例化的View/Controller不同于Spring MVC实例化的Controller,不受Spring管理,无法进行注入。

解决方案

方法一

在doAfterCompose方法中调用SpringUtil提供的获取bean的方法,给bean赋值,代码如下:

userService = (UserService) SpringUtil.getBean("userService");

方法二

在doAfterCompose方法中调用Spring的自动注入方法进行所有bean的注入,此时需要在注入类上面添加@Autowired。代码如下:

SpringUtil.getApplicationContext().getAutowireCapableBeanFactory().autowireBean(this);

备注

ZK提供了针对Spring的Bean管理注解,官方文档给出的例子为,在类上面添加下面注解:
@VariableResolver(org.zkoss.zkplus.spring.DelegatingVariableResolver.class)

同时,在注入属性上添加下面的注解:

@WireVariable
private UserService userService;

但官网提供的这种方法经过测试,并没有成功注入,原因还在进一步调查中。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-17 19:36:16

ZK Spring 整合View/Controller层属性注入的相关文章

Spring quartz Job不能依赖注入,Spring整合quartz Job任务不能注入

Spring quartz Job不能依赖注入,Spring整合quartz Job任务不能注入 Spring4整合quartz2.2.3中Job任务使用@Autowired不能注入 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ©Copyright 蕃薯耀 2017年9月6日 http://ww

Spring(二) Spring中的AOP和属性注入

一.AOP(Aspect Oriented Programing)面向切面编程 AOP的终极目标:让我们可以专心做事 下面通过一个例子来介绍AOP的具体使用 案例的要求:使用AOP实现日志记录系统 ,  核心模块  和    增强  单独  开发  ,运行时再组装 首先定义接口和方法 接口和实现类中的代码,我放在一起了,应该比较简单 package demo04.dao; /** * Created by mycom on 2018/3/5. */ public interface IHello

Spring:特殊数据类型的属性注入(基于配置文件)

该处提到的特殊数据类型指的是除了基础数据类型和String以外的其他常用的数据类型,如:List.Map.Set.以及pojo对象等.则我们创建的Person类定义为: package bjtu.wellhold.testSpring; import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.Properties; import java.util.Set; import org

spring整合SpringMVC Controller 和 Struts2 Action控制层Bean的默认作用域

Spring在整合SpringMVC 时的Controller作用域默认是单例. Spring在整合Strut2时Action是作用域原型. 我们知道Spring在配置bean时默认是单例.那么对于的service和dao层的bean也是使用的单例模型. 我们做个测试 package com.pyc.test.controller; import org.springframework.context.annotation.Scope; import org.springframework.st

Spring boot 工具类静态属性注入及多环境配置

由于需要访问MongoDB,但是本地开发环境不能直接连接MongoDB,需要通过SecureCRT使用127.0.0.2本地IP代理.但是程序部署到线上生产环境后,是可以直接访问MongoDB的,因此开发好程序后,总是要修改一下MongoDB服务器的IP才能提交代码,这样很是不方便. private static final String PUBCHAT_HOST = "127.0.0.2"; // private static final String PUBCHAT_HOST =

Spring.Net 简单实例-02(属性注入)

说明:接续Spring.Net 简单实例-01(IOC) 话不多说看操作 1:为UserInfo添加属性 2: 修改App.config中代码 <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <sectionGroup name="spring"> <section name="cont

使用Mock 对spring mvc 的controller层进行单元测试

总体目标:达到自动化测试接口的目的 项目组成:spring mvc + hibernate + mysql 如何使用mock进行接口的单元测试? 实现思路:将mysql替换成h2数据库,之前hibernate 的datesource配置的是mysql,现在配置成h2,这样测试的数据库是干净的,因为在内存中.每次进行junit mock测试之前清空一下内存中的数据库即可 实现代码: package cn.edu.hebtu.www.onemeet.client.controller; import

【初识Spring】对象(Bean)实例化及属性注入(xml方式)

title: [初识Spring]对象(Bean)实例化及属性注入(xml方式) date: 2018-08-29 17:35:15 tags: [Java,Web,Spring] --- ?#初识Spring之Bean实例化及属性注入 1.通过xml配置的方式进行实例化. 配置文件中bean标签的常用属性 通过无参构造(常用) 使用静态工厂进行创建 使用实例工厂进行创建 2.属性注入. 使用有参数构造方法注入属性 使用set方法注入属性(常用) 注入对象类型属性 注入复杂类型属性 xml配置的

Custom Container View Controller

什么是Container View Controller?苹果文档是这么描述的:  A container view controller contains content owned by other view controllers. 也就是说一个View Controller显示的某部分内容属于另一个View Controller,那么这个View Controller就是一个Container,比如UIKit中的UINavigationController,UITabBarControl