Liferay+;弹簧&x2B;SpringWebMVC-@自动连线不起作用
使用: liferay 6.1 春季3.1 SpringPortletMVC 我们尝试将@Autowired注入Springbean,但似乎这在liferay 6.1中不起作用?已知的臭虫?解决办法 这里是my applicationContext.xml:Liferay+;弹簧&x2B;SpringWebMVC-@自动连线不起作用,spring,liferay,Spring,Liferay,使用: liferay 6.1 春季3.1 SpringPortletMVC 我们尝试将@Autowired注入Springbean,但似乎这在liferay 6.1中不起作用?已知的臭虫?解决办法 这里是my applicationContext.xml: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
<bean id="viewNameTranslator"
class="org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator"/>
<bean
class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/>
<mvc:annotation-driven />
<context:annotation-config />
<context:component-scan base-package="com.ebcont.yatc.portlets.service"/>
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:configuration.properties</value>
<value>classpath:mail.properties</value>
</list>
</property>
</bean>
<bean id="appProperties"
class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="singleton" value="true"/>
<property name="properties">
<props>
<prop key="application.name">${application.name}</prop>
</props>
</property>
</bean>
<bean id="mailProperties"
class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="singleton" value="true"/>
<property name="properties">
<props>
<prop key="mail.host">${mail.host}</prop>
<prop key="mail.port">${mail.port}</prop>
<prop key="mail.username">${mail.username}</prop>
<prop key="mail.password">${mail.password}</prop>
<prop key="mail.smtp.auth">${mail.smtp.auth}</prop>
<prop key="mail.smtp.starttls.enable">${mail.smtp.starttls.enable}</prop>
<prop key="mail.registration.sender">${mail.registration.sender}</prop>
<prop key="mail.registration.subject">${mail.registration.subject}</prop>
</props>
</property>
</bean>
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="${mail.host}"/>
<property name="port" value="${mail.port}"/>
<property name="username" value="${mail.username}"/>
<property name="password" value="${mail.password}"/>
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">${mail.smtp.auth}</prop>
<prop key="mail.smtp.starttls.enable">${mail.smtp.starttls.enable}</prop>
</props>
</property>
<property name="defaultEncoding" value="UTF-8"/>
</bean>
<bean id="velocityEngine"
class="org.springframework.ui.velocity.VelocityEngineFactoryBean">
<property name="velocityProperties">
<value>
resource.loader=class
class.resource.loader.class=
org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader
</value>
</property>
</bean>
<bean id="portletMultipartResolver"
class="org.springframework.web.portlet.multipart.CommonsPortletMultipartResolver">
<!-- one of the properties available; the maximum file size in bytes -->
<property name="maxUploadSize" value="100000"/>
</bean>
</beans>
classpath:configuration.properties
类路径:mail.properties
${application.name}
${mail.host}
${mail.port}
${mail.username}
${mail.password}
${mail.smtp.auth}
${mail.smtp.starttls.enable}
${mail.registration.sender}
${mail.registration.subject}
${mail.smtp.auth}
${mail.smtp.starttls.enable}
resource.loader=class
class.resource.loader.class=
org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader
web.xml:
<web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Portlet MVC</display-name>
<servlet>
<servlet-name>ViewRendererServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.ViewRendererServlet</servlet-class>
</servlet>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
<servlet-mapping>
<servlet-name>ViewRendererServlet</servlet-name>
<url-pattern>/WEB-INF/servlet/view</url-pattern>
</servlet-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:/**/applicationContext.xml</param-value>
</context-param>
Portlet MVC
ViewRenderServlet
org.springframework.web.servlet.viewRenderServlet
org.springframework.web.context.ContextLoaderListener
org.springframework.web.context.request.RequestContextListener
ViewRenderServlet
/WEB-INF/servlet/view
上下文配置位置
类路径*:/**/applicationContext.xml
问题与您的
web.xml
文件有关。您需要做的是添加以下侦听器:
<listener-class>com.liferay.portal.kernel.servlet.SecurePluginContextListener</listener-class>
希望这能解决您的问题。post spring配置。如果没有configpost your web.xml,我也会遇到同样的问题,我已经添加了侦听器,正如您在我的Portlet applicationContext.xml中提到的,但是我也面临同样的问题。如果我在这里遗漏了什么,请您指导我好吗?对不起,在web.xml中,而不是在applicationContext.xml中
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>com.liferay.portal.kernel.servlet.SecurePluginContextListener</listener-class>
</listener>
<listener>
<listener-class>com.liferay.portal.kernel.servlet.PortletContextListener</listener-class>
</listener>