【发布时间】:2018-09-01 20:33:53
【问题描述】:
我正在尝试按照 Petri Kainulainen 的“Spring Data”一书中的示例代码创建一个应用程序。我有一个服务 RepositoryContactService 包 com.packtpub.springdata.jpa.service;
@Service("service")
public class RepositoryContactService implements ContactService {
我的ApplicationContext类设置扫描服务的包
@Configuration
@ComponentScan(basePackages = { "com.packtpub.springdata.jpa.service" })
@EnableTransactionManagement
@EnableWebMvc
@EnableJpaRepositories("com.packtpub.springdata.jpa.repository")
@PropertySource("classpath:application.properties")
public class ApplicationContext extends WebMvcConfigurerAdapter {
我正在运行带有声明的类测试
@Autowired
private static RepositoryContactService service;
和main方法中的代码
Contact contact = new Contact("handro1104@gmail.com", "handro");
service.save(contact);
问题在于“service.save(contact);”行给我服务空。
【问题讨论】:
-
请显示测试类的声明和所有注释。
-
Spring 不会 @Autowire 静态变量 - 所以你的整体设置是无效的。您需要创建一个包含 RepositoryContactService 的类,并且该 main 将通过 Spring 的应用程序上下文调用,以便 Spring 能够帮助您进行设置。