在此任务中,我不允许使用自动接线
因此我尝试创建与此类似的内容:https://www.tutorialspoint.com/spring/spring_java_based_configuration.htm
我的代码
@Configuration
public class ApplicationConfig {
@Bean
public FoodService foodService() {
return new FoodService(FoodRepository());
}
@Bean
public FoodRepository foodRepository() {
return new FoodRepository();
}
}
当然,由于FoodRepository是一个扩展MongoRepository的接口,它给出了一个错误,它没有被实例化,并且在服务中我确实需要调用存储库来保存等等。怎么解决这个问题?
答案 0 :(得分:1)
我在Spring Data MongoDB documentation
中找到了答案在ApplicationConfig.java中,我应该做到以下几点:
function f(obj, prop, val){
if (typeof obj == 'object'){
if (obj.hasOwnProperty(prop))
obj[prop] = val;
for (let i in obj)
f(obj[i], prop, val);
}
}
var items = {
price: 10,
child: {
price: 20,
child: {
price: 10
}
},
child2: {
price: 40,
child: {
price: 50,
child: [{ price: 30 }, { price: 40 }]
}
}
};
f(items, 'price', 0);
console.log(JSON.stringify(items));
答案 1 :(得分:0)
更新了对行
由于您没有使用Spring
标记问题,我假设您使用的是<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mongo="http://www.springframework.org/schema/data/mongo"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/data/mongo
http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd">
<mongo:mongo id="mongo" />
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg ref="mongo" />
<constructor-arg value="databaseName" />
</bean>
<mongo:repositories base-package="com.acme.*.repositories" />
</beans>
。
根据https://docs.spring.io/spring-data/mongodb/docs/1.2.0.RELEASE/reference/html/mongo.repositories.html你需要:
@Import
我建议创建一个类似的文件,并在ApplicationConfig
中包含FoodRepository
和.xml文件的引用。
如果您没有向new FoodRepository()
界面添加其他方法,则无需实施,因此您无法执行Spring Boot
。
更新:
由于这是pom.xml
应用,您只需要:
将依赖项添加到<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
:
@Configuration
使用@EnableMongoRepositories
spring.data.mongodb.host=
spring.data.mongodb.port=
spring.data.mongodb.database=
- 带注释的类)
配置属性:
{{1}}