public StrutsSpringObjectFactory(
@Inject(value=StrutsConstants.STRUTS_OBJECTFACTORY_SPRING_AUTOWIRE,required=false) String autoWire,
autoWire由构造方法注入,默认值为"name"
int type = AutowireCapableBeanFactory.AUTOWIRE_BY_NAME; // default
if ("name".equals(autoWire)) {
type = AutowireCapableBeanFactory.AUTOWIRE_BY_NAME;
} else if ("type".equals(autoWire)) {
type = AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE;
} else if ("auto".equals(autoWire)) {
type = AutowireCapableBeanFactory.AUTOWIRE_AUTODETECT;
} else if ("constructor".equals(autoWire)) {
type = AutowireCapableBeanFactory.AUTOWIRE_CONSTRUCTOR;
} else if ("no".equals(autoWire)) {
type = AutowireCapableBeanFactory.AUTOWIRE_NO;
}
this.setAutowireStrategy(type);
默认按名字注入
引起问题:接收页面数据的类如果有自身类型的属性抛异常
public class Category {
private String id;
private String name;
private String description;
private Category parent;
private Set<Category> children;
异常为:
Struts has detected an unhandled exception:
# Messages: attempt to create saveOrUpdate event with null entity
File: org/hibernate/event/SaveOrUpdateEvent.java
分享到:
相关推荐
- 默认的自动装配策略是基于 `name`,即查找与 Action 属性名相同的 Spring bean。 - 可通过设置 `struts.objectFactory.spring.autoWire` 常量改变自动装配策略,如 `type`, `auto`, `constructor`。 6. **...
<constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory" /> 修改struts默认的拦截: <filter-name>struts2 *.action *.jsp 2、添加hibernate功能 3、添加...
4. **FilterDispatcher**:在Struts2与Spring整合时,通常会使用`StrutsSpringObjectFactory`替换默认的`DefaultActionProxyFactory`。为此,我们需要在web.xml中配置`StrutsPrepareAndExecuteFilter`而非传统的`...
我们需要在Struts的配置文件(struts-config.xml)中替换默认的RequestProcessor,改为Spring的DelegatingRequestProcessor。 ```xml ``` 然后在Spring配置文件中定义Action beans。这种方式的好处是,Spring可以...
4. **定义Action类**:Action类通常需要继承自Struts2的抽象类`org.apache.struts2.spring.StrutsSpringObjectFactory`,或者通过注解`@StrutsTag(name="spring", tldTagClass="org.apache.struts2.views.jsp.ui....
在IT行业中,SSH(Spring、Struts2、...Struts2提供了Spring插件,它允许我们在不修改Struts2默认对象工厂的情况下,利用Spring来管理和注入Bean。要启用此功能,我们需要在Struts2的配置文件中添加以下配置: ```xml ...
<constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory" /> ``` 2. **创建Spring配置文件**:在`src/main/resources`或相应目录下创建一个Spring配置文件,如`...
<constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory"/> ``` 这里,`struts.objectFactory`配置指定了使用Spring对象工厂,而`springBean`拦截器则...
通常会有一个`<constant>`标签来指定Spring的配置文件位置,例如`<constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory" />`。 4. **Action类**:Struts2的Action类...
1. **struts.objectFactory**: 指定对象工厂,如Spring插件的`struts.objectFactory=org.apache.struts2.spring.StrutsSpringObjectFactory`。 2. **struts.i18n.locale**: 设置默认的语言环境,如`struts.i18n....
<constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory"/> ``` 在这个小案例中,Day01_StrutsAndSpring可能包含了相关的代码文件,如Action类、Service类、配置文件...
<constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory"/> <param name="excludeMethods">input,back,cancel,browse ...
<constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory"/> ``` 4. **Action类的编写**:Action类需要实现Spring的`ApplicationContextAware`接口,以便在Struts2...
<constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory" /> ``` 5. **Action类的修改**:由于我们使用了Spring管理Bean,所以Action类不再需要依赖注入的构造函数...
同时,需要配置Struts2与Spring的集成,例如通过`StrutsSpringObjectFactory`让Struts2能够使用Spring管理的Bean。 3. **配置iBatis**:配置`SqlMapConfig.xml`,包含数据库连接信息和SQL映射文件的路径。在Spring...
Struts2.3.16.3升级到Struts2.5.12注意事项(必须) Spring 4.1.2升级到Spring 4.3.10注意事项(必须) hibernate 3升级到hibernate5.2.9注意事项(必须) 最新SSH升级必备
<constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory" /> ``` 3. **配置Spring**:创建Spring的bean配置文件,定义需要被管理的Action类以及其他服务类。例如: ...
<constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory"/> ``` 3. 在Spring的配置文件(如`applicationContext.xml`)中声明需要管理的Bean,并启用注解扫描: ```...
Struts2 和 Spring 整合是Java开发中常见的实践,主要目的是为了利用Spring的强大功能,如依赖注入(DI)和面向切面编程(AOP),同时保持Struts2的MVC架构的优势。以下是对整合过程的详细说明: 首先,Spring框架...
此外,为了使Struts2能够利用Spring来创建Action对象,需要在`struts.xml`中添加`struts.objectFactory`常量,值设为`org.apache.struts2.spring.StrutsSpringObjectFactory`。 **注意事项**: - 在配置过程中,...