Struts2学习:Action使用@Autowired注入为null的解决方案
1、pom.xml引入struts2-spring-plugin
<dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-spring-plugin</artifactId> <version>2.5.18</version> </dependency>
2、struts.xml添加常量struts.objectFactory.spring.autoWire.alwaysRespect,使Spring的自动注入总是有效
<constant name="struts.objectFactory.spring.autoWire.alwaysRespect" value="true" />
通过上述两个配置,即可在Action中实现自动注入。测试例子:
在application.properties配置:
destPath = application.properties
新建util文件夹,新建工具类StrutsConfig
import java.util.Properties; @Component public class StrutsConfig { @Value("${destPath}") private String destPath; public String getDestPath() { System.out.println(destPath); return destPath; } }
新建action类UploadFileAction
package com.struts2demo.demo.action; import com.struts2demo.demo.util.StrutsConfig; import org.springframework.beans.factory.annotation.Autowired; import java.io.File; public class UploadFileAction { @Autowired private StrutsConfig strutsConfig; public String excute() { System.out.println(strutsConfig.getDestPath()); return "error"; } }
struts.xml和jsp的编写就不写了,测试效果:
Struts2学习:Action使用@Autowired注入为null的解决方案的更多相关文章
- struts2的action中@Autowired注入为null的解决方案
今天遇到类似问题,记录下来以便以后查阅: @Aspect作用于action,致使action中的@Autowired注入为null的解决方案,以下三种任选一种: 1.去掉@Autowired,改用se ...
- Java 各级注解及@Autowired注入为null解决办法
1.@controller 控制器 用于标注控制层,相当于struts中的action层. 2.@service 服务层 用于标注服务层,主要用来进行业务的逻辑处理. 3.@repository DA ...
- 关于工具类中@Autowired注入为NULL的问题记录
记录:在实体类中加入@Component注解和@Autowired注解时Service不能注入成功. @Component //把普通pojo实例化到spring容器中 0 public clas ...
- 于工具类中@Autowired注入为NULL的问题记录
记录:在实体类中加入@Component注解和@Autowired注解时Service不能注入成功. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ...
- @Autowired注入为null问题分析
题说明 最近看到Spring事务,在学习过程中遇到一个很苦恼问题 搭建好Spring的启动环境后出现了一点小问题 在启动时候却出现[java.lang.NullPointerException] 不过 ...
- spring@Autowired注入为null的问题,2017年9月14日21点41分记录
这个小问题纠结了三个小时..发出来留个纪念 这是启动项目的时候 这是请求控制器的时候 图1注入的时候是null,图2请求控制器的时候是有的,这是因为图1debug的地方是构造器..autowire ...
- Spring @Autowired 注入为 null
原因 配置缺失,比如为开启注解扫描驱动.注入组件为注册: 使用 new 关键字创建的对象不受spring容器管理,无法注入: 注入静态变量, 静态变量/类变量不是对象的属性,而是一个类的属性,spri ...
- struts2视频学习笔记 07-08(为Action的属性注入值,指定需要Struts 2处理的请求后缀,常用常量)
课时7 为Action的属性注入值(增加灵活性,适用于经常更改的参数) Struts2为Action中的属性提供了依赖注入功能,在struts2的配置文件中,我们可以很方便地为Action中的属性注入 ...
- 【Struts2学习笔记(3)】至Action注入属性值
(1)有属性注入? 当一些属性不适合固定写入时适合使用这样的方法,对于一些使用特频繁的类或者方法,非常多类都会用到,那么使用属性注入会节省很多其它的力气.并且在设计的时候就能够提早的把该属性给定义出来 ...
随机推荐
- hive 安装 和基本使用
hive是什么: hive是一个数据仓库,hive不是一个数据库,hive 不没有自己的数据,hive的数据存在hdfs 中,hive 依赖一个关系型数据库来存储 自己在 hdfs 中的数据的映射关系 ...
- python引入自定义模块
Python的包搜索路径 Python会在以下路径中搜索它想要寻找的模块:1. 程序所在的文件夹2. 标准库的安装路径3. 操作系统环境变量PYTHONPATH所包含的路径 将自定义库的路径添加到Py ...
- mysql5.5 for linux 安装(转)
下载地址: http://dev.mysql.com/downloads/mysql/5.5.html#downloads 进入后会有选择系统 选择linux-generic后 又有很多产品选择,我们 ...
- py-day1-6 python 5个灰魔法 【len,index索引,for循环,切片】
# 索引,下标,获取字符串中的某一个字符. test = 'MuMingJun' v = test[3] print(v) i # 切片 test = 'MuMingJun' v = test[0:- ...
- chmod命令详解
Linux chmod命令 Linux/Unix 的文件调用权限分为三级 : 文件拥有者.群组.其他.利用 chmod 可以藉以控制文件如何被他人所调用. 使用权限 : 所有使用者 语法: chmod ...
- 在本机将本机的ip和mac绑定
cmd命令框中输入arp -s ip mac即可绑定 解除绑定:arp -d ip
- 正则判断 文件名是否为zip格式
var type = filename.match(/^(.*)(\.)(.{1,8})$/)[3].toUpperCase();
- 找不到 EntityType “ ” 的映射和元数据信息。
意思是: 数据库里边有添加的新字段DB1,而程序中的的实体即“元数据”中没有这个新字段Et1,由于EntityFramework更新模型时已自动默认对DB1和Et1进行了映射(默认认为实体中存在这个字 ...
- 解除IE锁定主页批处理
解除IE锁定主页.bat rem 解除IE锁定主页@echo offecho HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main [ ...
- 【java】之彻底明白进制转换
首先区分 2进制 只有0和1组成 如:0101018进制 以0开头,0~7组成 如:01234510进制 以1~9开头,0~9组成 如:10016进制 以0X开头,0~9或者a ...