我使用的是Apache Camel,我在blueprint.xml文件中有一个bean标记,如下所示:
heroku run:detached rake db:migrate
permissionsList属性是此类上perm()方法的结果:
<bean id="shiroPolicy" class="org.apache.camel.component.shiro.security.ShiroSecurityPolicy">
<argument value="shiro.ini"/>
<property name="permissionsList" >
<list>
.......
</list>
</property>
</bean>
如何调用此方法并将结果设置在bean标记的permissionsList属性中?
答案 0 :(得分:1)
您应该能够将testshiro
实例化为工厂,然后将perm()
作为工厂方法来创建列表。然后将列表的引用传递给您的Shiro政策:
<bean id="permissionsFactory" class="your.package.testshiro"/>
<bean id="permissions" factory-ref="permissionsFactory" factory-method="perm" />
<bean id="shiroPolicy" class="org.apache.camel.component.shiro.security.ShiroSecurityPolicy">
<argument value="shiro.ini"/>
<property name="permissionsList" ref="permissions" />
</bean>
这个tutorial很好地概述了如何在蓝图中使用工厂。
答案 1 :(得分:0)
<bean id="permissionsFactory" class="com.ngt.shiropermission.testshiro"/>
<bean id="permissions" factory-ref="permissionsFactory" factory-method="perm" />
<bean id="shiroPolicy" class="org.apache.camel.component.shiro.security.ShiroSecurityPolicy">
<argument value="shiro.ini"/>
<property name="permissionsList" ref="permissions" />
</bean>