我是新来spring boot的。我试图用neo4j数据库在spring boot mvc中开发小型应用程序。下面是我的服务器
@Configuration
@ComponentScan({ "myproject" })
@EnableAutoConfiguration
@EnableNeo4jRepositories(basePackages = "myproject")
public class Server extends Neo4jConfiguration implements CommandLineRunner
{
public Server()
{
setBasePackage("myproject");
}
@Bean
SpringRestGraphDatabase graphDatabaseService()
{
return new SpringRestGraphDatabase("http://localhost:7474/db/data");
}
@Bean
Mapper mapper()
{
return new DozerBeanMapper();
}
public void run(String... args) throws Exception
{
}
public static void main(String[] args) throws Exception
{
SpringApplication.run(Server.class, args);
}
}
下面是我的主要课程
@Configuration
@ComponentScan({ "myproject.business" })
@EnableNeo4jRepositories(basePackages = "myproject")
public class MainWithStructure extends Neo4jConfiguration implements CommandLineRunner
{
@Autowired
private MyService myService;
public MainWithStructure()
{
setBasePackage("myproject");
}
@Bean
SpringRestGraphDatabase graphDatabaseService()
{
return new SpringRestGraphDatabase("http://localhost:7474/db/data");
}
.......
......
public static void main(String[] args) throws Exception
{
FileUtils.deleteRecursively(new File("accessingdataneo4j.db"));
SpringApplication app = new SpringApplication(MainWithStructure.class);
app.setWebEnvironment(false);
app.run(args);
}
}
下面是我的组件类
@Component
public class MyService
{
@Autowired
private Mapper mapper; //Fails to autowire org.dozer.Mapper
.....
}
下面是我的Controller类
@RestController
@RequestMapping("/rest")
public class MyController
{
@Autowired
private Mapper mapper; //autowire sucess org.dozer.Mapper
}
运行main类MainWithStructure时,我遇到以下异常
org.springframework.beans.factory.BeanCreationException:创建名为“main withStructure”的bean时出错:注入autowired依赖项失败;嵌套异常为org.SpringFramework.Beans.Factory.BeanCreationException:无法自动连接字段:private MyProject.Business.MyService MyProject.Main.MainWithStructure.MyService;嵌套异常为org.springframework.beans.factory.beanCreationException:创建名为“My Service”的bean时出错:注入autowired依赖项失败;嵌套异常为org.springframework.beans.factory.beanCreationException:无法自动连接字段:private org.dozer.mapper MyProject.Business.MyService.mapper;嵌套异常为org.springframework.beans.factory.noSuchBeanDefinitionException:未找到依赖项得[org.dozer.mapper]类型得合格bean:需要至少一个具有此依赖项自动候选资格得bean.依赖项注释:{@org.SpringFramework.Beans.Factory.Annotation.AutoWired(required=true)}
下面是我的项目结构
demo_project
--MyProject.Main
------MainWithStructure.java
------Server.java
--MyProject.Business
------MyService.java
--MyProject.REST
------MyController.java
如果我在Controller中自动连接org.dozer.mapper
,它就成功地自动连接了它。但是如果我在组件类中自动连接org.dozer.mapper
,它就不能自动连接。为什么它不能只在组件类上自动连接org.dozer.mapper
?
如果我错了请让我改正。谢谢:)
您可以在主类中添加@SpringBootApplication,主类具有@ComponentScan,它将扫描Project中的所有子组件。
您的服务器
不在@componentscan
的包中,因此映射器
确实不是bean。尝试从@componentscan
中删除显式包(因为所有内容都在主类的子包中,它将拾取所有组件)。
几个小时以来,我一直在努力让MapStruct为JAXB生成的类生成有效的映射器。这些类的特殊性在于,它们既没有集合的setter,也没有集合的adder。例如: 类avove有一个getter和一个属性设置器(本例中为firstName),但对于集合(此处列出),它只有一个getter。因此,消费者有责任通过getAddressTypes(add(new AddressType(...))进行访
null 这是我运行单元测试时得到的跟踪: 我认为在我的pom.xml文件的build/plugin部分缺少或放错了地方 可以在这里查看项目的源代码: https://github.com/alfredux79/mapstruct-lombock-springboot/tree/stack-overflow-question
本文向大家介绍Myeclipse 自动生成可持久化类的映射文件的方法,包括了Myeclipse 自动生成可持久化类的映射文件的方法的使用技巧和注意事项,需要的朋友参考一下 1.打开DB Browser,新建一个数据库的连接,找到想要持久化操作的数据库表的图标,右键选择hibernate reverse engineering 2.之后出现如下所示: java src folder:对应工
classC是一个抽象类,ClassD是一个具体类。当我映射A->B时没有问题,但是当我映射B->A时,我得到了InstantiationException。我怀疑推土机试图实例化抽象类ClassC。有什么属性可以告诉dozer使用ClassD吗?请帮帮忙。 [EDIT1]-添加了完整的类声明。
我有两个需要映射的继承层次结构。一个层次结构是国内的,另一个是野生的。我有抽象的Domestic动物和具体的DomesticCat和DomesticDog扩展它。在第二个层次结构中,我有抽象的Wild动物和具体的WildCat和WildDog扩展它。我还有另外两个类,分别是WildAnimalFeeder具有Wild动物的成员对象和DomesticAnimalFeeder具有DomesticAni
我在Postgres数据库中创建了一个新表 但我得到的错误是: 我已将library.xml文件放在资源文件夹中。我是jooq的新手,Spring启动。请帮助我如何自动生成jooq类。