Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 错误@自动连接到另一个项目的接口_Spring - Fatal编程技术网

Spring 错误@自动连接到另一个项目的接口

Spring 错误@自动连接到另一个项目的接口,spring,Spring,org.springframework.beans.factory.BeanCreationException:创建名为“MiParteTrabajoDao”的bean时出错:自动关联依赖项的注入失败;嵌套异常为org.springframework.beans.factory.beancreatitionException:无法自动关联字段:private com.mydomain.repository.produccion.ParteTrabajoRepository com.mydomai

org.springframework.beans.factory.BeanCreationException:创建名为“MiParteTrabajoDao”的bean时出错:自动关联依赖项的注入失败;嵌套异常为org.springframework.beans.factory.beancreatitionException:无法自动关联字段:private com.mydomain.repository.produccion.ParteTrabajoRepository com.mydomain.dao.produccion.ParteTrabajoDaoExample.partetrabajodaoRepository;嵌套异常为org.springframework.beans.factory.NoSuchBeanDefinitionException:未找到依赖项类型为[com.mydomain.repository.produccion.ParteTrabajoRepository]的符合条件的bean:应至少有1个bean符合此依赖项的autowire候选项的条件。依赖项注释:{@javax.inject.inject()}


您可能错过了实现ParteTrabajoRepository接口的bean


com.mydomain.repository.produccion.ParteTrabajoRepository
只是一个接口,但它需要一个具体的实现,才能注入
@Autowired
EnableJpaRepositories的值是错误的。 该值是一个数组,因此应为

您声明它的方式spring将尝试只扫描一个名为

com.mydomain.repository,com.mydomain.dao


这肯定不是您想要的。

请原谅我对spring的有限经验,我创建了服务配置。但是我不能被实现为DAO的接口。

package com.mydomain.repository;

import java.io.Serializable;
import java.util.List;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.repository.NoRepositoryBean;

@NoRepositoryBean
public interface CrudRepository<T, ID extends Serializable> extends JpaRepository<T, ID> {

    @Override
    <S extends T> S save(S entity);

    @Override
    T findOne(ID primaryKey);

    @Override
    List<T> findAll();

    @Override
    long count();
    @Override
    void delete(T entity);
    @Override
    boolean exists(ID primaryKey);
}

package com.mydomain.repository.produccion;

public interface ParteTrabajoRepository extends CrudRepository<PParteTrabajo, PParteTrabajoPK> {

    @Query(value = "select u from PParteTrabajo u where u.idParteTrabajo like %?1", nativeQuery = true)
    public PParteTrabajo findByIdParteTrabajo(int idParteTrabajo);
}

package com.mydomain.dao.produccion;

public interface ParteTrabajoDaoI {

    public List<PParteTrabajo> findAll();
}

package com.mydomain.dao.produccion;

@Repository("MiParteTrabajoDao")
public class ParteTrabajoDaoExample implements ParteTrabajoDaoI {

    @Autowired
    private ParteTrabajoRepository parteRepository;

    @Override
    public List<PParteTrabajo> findAll() {
        final List<PParteTrabajo> lista = parteRepository.findAll();
        return null;
    }
}

package com.mydomain.services.produccion;

import com.mydomain.entities.produccion.PParteTrabajo;
import com.mydomain.util.dao.DaoException;
import com.mydomain.util.exception.FindException;

public interface ParteTrabajoServiceI<T> {

    public T iniciarParteTrabajo(int idMaquina, int idEstacion, int idOperario, int idTrabajo, int idOrden)
            throws FindException;

    public PParteTrabajo iniciarFinalizarParteTrabajo(int idMaquina, int idEstacion, int idOperario, int idTrabajo,
            int idOrden) throws FindException, DaoException;

    public T iniciarParteTrabajoMaquinaTrabajoUnico(int idMaquina, int idOperario, int idOrden) throws FindException,
            DaoException;

    public PParteTrabajo finalizarParteTrabajo(T parteTrabajoIniciado, BigDecimal cantidad) throws DaoException,
            FindException;

    public List<PParteTrabajo> finalizarPartesTrabajosIniciados(int idMaquina, int idOperario) throws FindException,
            DaoException;

    public List<T> getPartesTrabajoIniciados(int idMaquina, int idOperario) throws FindException;

    public List<T> getPartesTrabajoIniciados(int idMaquina) throws FindException;

    public List<T> findAll() throws FindException;

}

package com.mydomain.services.produccion;

import com.mydomain.dao.produccion.ParteTrabajoDaoI;
import com.mydomain.entities.produccion.PParteTrabajo;
import com.mydomain.util.dao.DaoException;
import com.mydomain.util.exception.FindException;

@Service("parteTrabajoServicePrueba")
public class ParteTrabajoServiceExample implements
        ParteTrabajoServiceI<ParteTrabajoServiceExample.ParteTrabajoIniciado> {

    @Autowired
    @Qualifier("MiParteTrabajoDao")
    private ParteTrabajoDaoI parteTrabajoDaoI;

    @Override
    public List<ParteTrabajoIniciado> getPartesTrabajoIniciados(final int idMaquina, final int idOperario) {

        return null;
    }

    public class ParteTrabajoIniciado {
        private final PParteTrabajo parte;

        private ParteTrabajoIniciado(final PParteTrabajo parteTrabajo) {
            parte = parteTrabajo;
        }

        public int getIdOrdenProduccion() {
            return parte.getIdOrdenProduccion();
        } 
    }
....
}

package com.mydomain.iweb;

@SpringBootApplication
@Configuration
@Import(com.mydomain.services.ServicesBeanConfig.class)
@EnableTransactionManagement
@EnableAutoConfiguration
@PropertySource("file:etc/application.properties")
@EnableJpaRepositories("com.mydomain.repository,com.mydomain.dao")
public class Application {

    private static final Logger LOG = LoggerFactory.getLogger(Application.class.getName());

    @Value("${spring.datasource.jndi-name}")
    private String jndiResourceName;
    @Value("${spring.datasource.name}")
    private String jdbcName;
    @Value("${spring.datasource.driver-class-name}")
    private String jdbcDriverClassName;
    @Value("${spring.datasource.url}")
    private String jdbcUrl;

    @Inject
    ApplicationContext ctx;

    public static void main(final String[] args) {
        SpringApplication.run(Application.class, args);

    }
 .....
}
@EnableJpaRepositories(value ={"com.mydomain.repository","com.mydomain.dao"})