[
https://issues.apache.org/struts/browse/WW-2765?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=44947#action_44947
]
Stephan Schroeder commented on WW-2765:
---------------------------------------
i'd like to have the possibility to set
struts.objectFactory.spring.autoWire = no
too. As do the people in these threads:
http://www.nabble.com/Any-way-to-disable-autowire-on-struts-2-actions--to19958954.html#a19958954
http://www.nabble.com/Spring-autowiring-null-values-to17315791.html#a17315791
One off the key places to change is probably the setAutowireStrategy()-method
of com.opensymphony.xwork2.spring.SpringObjectFactory which by now only 4 valid
values:
public void setAutowireStrategy(int autowireStrategy) {
switch (autowireStrategy) {
case AutowireCapableBeanFactory.AUTOWIRE_AUTODETECT:
log.info("Setting autowire strategy to autodetect");
this.autowireStrategy = autowireStrategy;
break;
case AutowireCapableBeanFactory.AUTOWIRE_BY_NAME:
log.info("Setting autowire strategy to name");
this.autowireStrategy = autowireStrategy;
break;
case AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE:
log.info("Setting autowire strategy to type");
this.autowireStrategy = autowireStrategy;
break;
case AutowireCapableBeanFactory.AUTOWIRE_CONSTRUCTOR:
log.info("Setting autowire strategy to constructor");
this.autowireStrategy = autowireStrategy;
break;
default:
throw new IllegalStateException("Invalid autowire type set");
}
}
i'm not sure whether adding
case AutowireCapableBeanFactory.AUTOWIRE_NO:
log.info("Setting autowire strategy to none");
this.autowireStrategy = autowireStrategy;
break;
would suffice (and whoever calls this method after reading struts.properties,
eclipse doesn't find any caller in my workspace).
> add setting for autowire=no
> ---------------------------
>
> Key: WW-2765
> URL: https://issues.apache.org/struts/browse/WW-2765
> Project: Struts 2
> Issue Type: Improvement
> Components: Plugin - Spring
> Affects Versions: 2.0.11.2
> Reporter: Brad Cupit
>
> struts.objectFactory.spring.autoWire can be set to
> name
> type
> auto
> constructor
> but internally Spring has 5 autowire settings (in AutowireCapableBeanFactory):
> AUTOWIRE_NO
> AUTOWIRE_BY_NAME
> AUTOWIRE_BY_TYPE
> AUTOWIRE_CONSTRUCTOR
> AUTOWIRE_AUTODETECT
> This is a request to add support for no autowiring to the Struts 2 Spring
> plugin.
> --- Reason for this feature request ---
> The struts-spring-plugin makes it so you don't have to manually configure
> your actions in spring xml files, but with Spring 2.5's new annotation
> support and classpath scanning, you don't have to manually configure any
> beans in spring xml files.
> With this setup, it would be nice if the struts-spring-plugin did not attempt
> to autowire beans itself but instead asked Spring for the bean, and if it
> wasn't found, no autowiring would occur.
> I would suggest a new setting of
> struts.objectFactory.spring.autoWire = no
> Enabling this new setting would also fix bug #WW-2479
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.