在自定义realm的时候注入的时候就会报错,去掉注解@Autowired 运行就会没有问题。错误的原因应该在于注解无法注入
/**
*
* 项目名称:飓风保险系统
* <p>
* 功能模块名称:
* <p>
* 文件名称为:InsuranceShiroRealm.java
* <p>
* 文件功能简述:
* <p>
* 项目研发:张建明
* <p>
* 修改记录:
* <p>
* 修改人 修改日期 备注
*
* @version v1.0
* @copyright Jufengad.com
*/
@Service
public class InsuranceShiroRealm extends AuthorizingRealm{
private WriteLog logService;
@Resource(name="simpleDtoFactory")
private DtoFactory simpleDtoFactory;
解决方案:
所以将SpringMVC的配置文件在
<context-param>中加载。
<?xml version="1.0" encoding= "UTF-8"?>
<web-app xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"
xmlns= "http://java.sun.com/xml/ns/javaee"
xmlns:web= "http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id= "WebApp_ID"
version ="3.0"
>
<display-name>insurance-web</display-name>
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>webapp.web.root</param-value>
</context-param>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/*.xml,classpath:insurance-web-servlet.xml</param-value>
</context-param>
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>