我通常以两种不同的方式创建Spring bean:
手动创建服务和存储库:
public class Repository {
...
}
public class Service{
private Repository repository;
public Service(Repository repository) {
this.repository = repository;
}
...
}
@Configuration
public class Config {
@Bean
public Repository repository() {
return new Repository();
}
public Service service() {
return new Service(repository());
}
...
}
@Controller
public class Controller {
@Autowired
private Service service;
...
}
使用spring注释自动装配它们:
@Repository
public class Repository{
...
}
@Service
public class Service{
@Autowired
private Repository repository;
...
}
@Controller
public class Controller {
@Autowired
private Service service;
...
}
在第一种方法中,您可以完全控制bean的创建,并且在将来您可以通过另一个框架以最小的更改来更改Spring。另一方面,第二种方法很简单,特别是当你的应用程序中有大量的bean时。
但是我想问一下上面两种方法中的哪一种更适合创建bean。
提前谢谢
答案 0 :(得分:0)
我怀疑你永远不会改变春天。但如果这是一个主要的问题,而不是使用autowire功能。
无论哪种方式,都要确保您拥有一套全面的单元测试,可以保证,如果您更改框架,您可以识别问题和错误。否则,无论如何你都不会觉得改变框架很舒服。
答案 1 :(得分:0)
我认为这是一个偏好问题。我们最近改用@Configuration,因为我们需要针对不同情况使用不同的配置文件。两者都很好。