Boa tarde senhores.
Estou com o seguinte problema, o Meu DAO sempre fica null, alguem poderia me ajudar a resolver o problema? segui abaixo o codigo:
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name>HelloWorld</display-name>
<context-param>
<param-name>flex.class.path</param-name>
<param-value>/WEB-INF/flex/hotfixes,/WEB-INF/flex/jars</param-value>
</context-param>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/log4j.properties</param-value>
</context-param>
<filter>
<filter-name>lazyLoadingFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>lazyLoadingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
<listener>
<listener-class>flex.messaging.HttpFlexSession</listener-class>
</listener>
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- MessageBroker Servlet -->
<servlet>
<servlet-name>MessageBrokerServlet</servlet-name>
<servlet-class>flex.messaging.MessageBrokerServlet</servlet-class>
<init-param>
<param-name>services.configuration.file</param-name>
<param-value>/WEB-INF/flex/services-config.xml</param-value>
</init-param>
<init-param>
<param-name>flex.write.path</param-name>
<param-value>/WEB-INF/flex</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- é importante que esteja descomentado -->
<servlet>
<servlet-name>RDSDispatchServlet</servlet-name>
<servlet-class>flex.rds.server.servlet.FrontEndServlet</servlet-class>
<init-param>
<param-name>useAppserverSecurity</param-name>
<!-- como não iremos utilizar autenticação -->
<param-value>false</param-value>
</init-param>
<load-on-startup>10</load-on-startup>
</servlet>
<servlet-mapping id="RDS_DISPATCH_MAPPING">
<servlet-name>RDSDispatchServlet</servlet-name>
<url-pattern>/CFIDE/main/ide.cfm</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>MessageBrokerServlet</servlet-name>
<url-pattern>/messagebroker/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
</welcome-file-list>
</web-app>
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:flex="http://www.springframework.org/schema/flex" 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" xmlns:p="http://www.springframework.org/schema/p"
xmlns:jee="http://www.springframework.org/schema/jee"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-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/flex
http://www.springframework.org/schema/flex/spring-flex-1.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd">
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.postgresql.Driver" />
<property name="url" value="jdbc:postgresql://localhost:5432/ss" />
<property name="username" value="root" />
<property name="password" value="root" />
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource" />
</property>
<property name="namingStrategy">
<bean class="org.hibernate.cfg.DefaultComponentSafeNamingStrategy" />
</property>
<property name="packagesToScan">
<list>
<!-- Map all files in classpath to the session factory -->
<!-- Entidades do projeto Procasa-HelpDesk -->
<value>br.com.ss.procasa.model.entity</value>
<!-- Entidades do projeto Seguranca -->
<value>br.com.ss.seguranca.model.entity</value>
</list>
</property>
<!-- Configuracoes do Hibernate -->
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.PostgreSQLDialect
</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
<property name="eventListeners">
<map>
<entry key="merge">
<bean
class="org.springframework.orm.hibernate3.support.IdTransferringMergeEventListener" />
</entry>
</map>
</property>
</bean>
<!-- Transaction Manager -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<!-- Habilita os Services para serem transicionais via a Annotation @Transactional -->
<tx:annotation-driven transaction-manager="transactionManager" />
<!-- ============================== AOP DEFINITIONS ================================ -->
<!-- ========================= BUSINESS OBJECT DEFINITIONS ========================= -->
<!-- Activates various annotations to be detected in bean classes: Spring's
@Required and @Autowired, as well as JSR 250's @Resource. -->
<context:annotation-config />
<!-- Carrega os Beans de Servico <context:component-scan base-package="br.com.ss.procasa.helpdesk.controller.service.impl"
/> <context:component-scan base-package="br.com.ss.seguranca.controller.service.impl"
/> -->
<!-- Carrega os Beans DAO Hibernate <context:component-scan base-package="br.com.ss.seguranca.controller.service.impl"
/> <context:component-scan base-package="br.com.ss.seguranca.model.dao.impl"
/> -->
<!--<flex:message-broker /> -->
<bean id="usuarioDAO" class="br.com.ss.seguranca.model.dao.impl.UsuarioDAO">
</bean>
</beans>
services-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<services-config>
<services>
<service-include file-path="remoting-config.xml" />
<service-include file-path="proxy-config.xml" />
<service-include file-path="messaging-config.xml" />
</services>
<factories>
<factory id="spring" class="br.com.ss.core.spring.controller.SpringFactory" />
</factories>
<security>
<login-command class="flex.messaging.security.TomcatLoginCommand"
server="Tomcat" />
<!-- Uncomment the correct app server <login-command class="flex.messaging.security.TomcatLoginCommand"
server="JBoss"/> <login-command class="flex.messaging.security.JRunLoginCommand"
server="JRun"/> <login-command class="flex.messaging.security.WeblogicLoginCommand"
server="Weblogic"/> <login-command class="flex.messaging.security.WebSphereLoginCommand"
server="WebSphere"/> -->
<!-- <security-constraint id="basic-read-access"> <auth-method>Basic</auth-method>
<roles> <role>guests</role> <role>accountants</role> <role>employees</role>
<role>managers</role> </roles> </security-constraint> -->
</security>
<channels>
<channel-definition id="my-amf"
class="mx.messaging.channels.AMFChannel">
<endpoint
url="http://{server.name}:{server.port}/{context.root}/messagebroker/amf"
class="flex.messaging.endpoints.AMFEndpoint" />
</channel-definition>
<channel-definition id="my-secure-amf"
class="mx.messaging.channels.SecureAMFChannel">
<endpoint
url="https://{server.name}:{server.port}/{context.root}/messagebroker/amfsecure"
class="flex.messaging.endpoints.SecureAMFEndpoint" />
<properties>
<add-no-cache-headers>false</add-no-cache-headers>
</properties>
</channel-definition>
<channel-definition id="my-polling-amf"
class="mx.messaging.channels.AMFChannel">
<endpoint
url="http://{server.name}:{server.port}/{context.root}/messagebroker/amfpolling"
class="flex.messaging.endpoints.AMFEndpoint" />
<properties>
<polling-enabled>true</polling-enabled>
<polling-interval-seconds>4</polling-interval-seconds>
</properties>
</channel-definition>
<!-- <channel-definition id="my-http" class="mx.messaging.channels.HTTPChannel">
<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/http"
class="flex.messaging.endpoints.HTTPEndpoint"/> </channel-definition> <channel-definition
id="my-secure-http" class="mx.messaging.channels.SecureHTTPChannel"> <endpoint
url="https://{server.name}:{server.port}/{context.root}/messagebroker/httpsecure"
class="flex.messaging.endpoints.SecureHTTPEndpoint"/> <properties> <add-no-cache-headers>false</add-no-cache-headers>
</properties> </channel-definition> -->
</channels>
<logging>
<target class="flex.messaging.log.ConsoleTarget" level="Error">
<properties>
<prefix>[BlazeDS] </prefix>
<includeDate>false</includeDate>
<includeTime>false</includeTime>
<includeLevel>false</includeLevel>
<includeCategory>false</includeCategory>
</properties>
<filters>
<pattern>Endpoint.*</pattern>
<pattern>Service.*</pattern>
<pattern>Configuration</pattern>
</filters>
</target>
</logging>
<system>
<redeploy>
<enabled>false</enabled>
<!-- <watch-interval>20</watch-interval> <watch-file>{context.root}/WEB-INF/flex/services-config.xml</watch-file>
<watch-file>{context.root}/WEB-INF/flex/proxy-config.xml</watch-file> <watch-file>{context.root}/WEB-INF/flex/remoting-config.xml</watch-file>
<watch-file>{context.root}/WEB-INF/flex/messaging-config.xml</watch-file>
<watch-file>{context.root}/WEB-INF/flex/data-management-config.xml</watch-file>
<touch-file>{context.root}/WEB-INF/web.xml</touch-file> -->
</redeploy>
</system>
</services-config>
remoting-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<service id="remoting-service" class="flex.messaging.services.RemotingService">
<adapters>
<adapter-definition id="java-object"
class="flex.messaging.services.remoting.adapters.JavaAdapter"
default="true" />
</adapters>
<default-channels>
<channel ref="my-amf" />
</default-channels>
<destination id="helloWorldService">
<properties>
<source>com.erkobridee.helloworld.flex.service.HelloWorld</source>
</properties>
</destination>
<!--
<destination id="usuarioService">
<properties>
<source>br.com.ss.seguranca.controller.service.impl.UsuarioService</source>
</properties>
</destination>
-->
<destination id="usuarioService">
<properties>
<source>br.com.ss.seguranca.controller.service.impl.UsuarioService</source>
</properties>
</destination>
<!-- <destination id="usuarioService"> <properties> <factory>spring</factory>
<source>br.com.ss.seguranca.controller.service.impl.UsuarioService</source>
</properties> </destination> -->
</service>
Na minha class UsusrioService o usuarioDAO sempre vem null nao sei pq ?
UsuarioService
package br.com.ss.seguranca.controller.service.impl;
import java.util.Date;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import br.com.ss.seguranca.controller.service.IUsuarioService;
import br.com.ss.seguranca.model.dao.impl.UsuarioDAO;
import br.com.ss.seguranca.model.entity.Usuario;
@Service(value="usuarioService")
@Transactional(propagation=Propagation.REQUIRED, rollbackFor=Exception.class)
public class UsuarioService implements IUsuarioService {
private UsuarioDAO usuarioDAO;
@Autowired
public void setUsuarioDAO(UsuarioDAO iUsuarioDAO) {
this.usuarioDAO = iUsuarioDAO;
}
public String aloMsg(String msg) throws Exception {
System.out.println(" teste insert wwww");
msg = msg + " robson ";
Usuario usuario = new Usuario();
usuario.setDtCadastro(new Date());
usuario.setTxLogin("ww");
usuario.setTxSenha("www");
usuario.setTxEmail("oi");
usuario.setCsStatus((short) 0);
usuario.setIdUsuario(1);
try {
this.usuarioDAO.save(usuario);
} catch (Exception e) {
throw new Exception("N�o foi poss�vel salvar." + e.getCause());
}
return msg;
}
@Override
public Usuario save(Usuario usuario) throws Exception {
try {
this.usuarioDAO.save(usuario);
return usuario;
} catch (Exception e) {
throw new Exception("N�o foi poss�vel salvar." + e.getCause());
}
}
@Override
public void remove(Usuario p_usuario) throws Exception {
try {
this.usuarioDAO.remove(p_usuario);
} catch (Exception e) {
throw new Exception("N�o foi poss�vel excluir." + e.getMessage());
}
}
@Override
public List<Usuario> getList() throws Exception {
try {
System.out.println("alooooooo ");
return this.usuarioDAO.getList();
} catch (Exception e) {
throw new Exception("N�o foi poss�vel listar." + e.getMessage());
}
}
@Override
public Usuario doLogin(String login, String senha) throws Exception {
try {
System.out.println("entrou no doLogin ");
Usuario u = usuarioDAO.doLogin(login, senha);
System.out.println("Dados do Usu�rio= \n " + u.toString());
return u;
} catch (Exception e) {
throw new Exception("N�o foi poss�vel procurar pela ID."
+ e.getMessage());
}
}
public String alo() {
System.out.println(" qqqqqqq ************* alooooooo");
return "wwwww eeeeeee robson ";
}
}
UsuarioDAO
package br.com.ss.seguranca.model.dao.impl;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.dao.support.DataAccessUtils;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import org.springframework.stereotype.Repository;
import br.com.ss.seguranca.model.dao.IUsuarioDAO;
import br.com.ss.seguranca.model.entity.Usuario;
@Repository(value = "usuarioDAO")
public class UsuarioDAO extends HibernateDaoSupport implements IUsuarioDAO {
@Autowired
public void setUsuarioDAO(@Qualifier("sessionFactory") SessionFactory sessionFactory) {
setSessionFactory(sessionFactory);
}
public Usuario save(Usuario usuario) {
getHibernateTemplate().saveOrUpdate(usuario);
return usuario;
}
public void remove(Usuario usuario) {
getHibernateTemplate().delete(usuario);
}
@SuppressWarnings("unchecked")
public List<Usuario> getList() {
return getHibernateTemplate().loadAll(Usuario.class);
}
public Usuario doLogin(String login, String senha) throws Exception {
Object[] params = new Object[] { login, senha };
Usuario usuario = (Usuario) DataAccessUtils
.requiredUniqueResult(getHibernateTemplate().find(
"from Usuario u where u.login=? and u.senha=?", params));
if (usuario == null)
throw new Exception("O Usuario com a ID: " + usuario + " do(a) "
+ Usuario.class.getSimpleName() + " n�o foi encontrada.");
return usuario;
}
// @Override
public List<Usuario> pesquisar(String campo, String texto) {
Query select = getSession().createQuery(
"from Usuario where " + campo + " like:XX");
select.setString("XX", texto);
List<Usuario> filtro = select.list();
return filtro;
}
}