package org.springframework.issues.configuration;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.issues.repository.UserRepository;
import org.springframework.issues.repository.impl.HibernateUserRepository;
import org.springframework.issues.service.UserService;
import org.springframework.issues.service.impl.UserServiceImpl;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@EnableTransactionManagement
@Import(DataConfig.class)
@Configuration
public class AppConfig {
@Autowired
DataConfig dataConfig;
@Bean
public UserRepository userRepository() throws Exception {
return new HibernateUserRepository(dataConfig.sessionFactory());
}
@Bean
public UserService userService() throws Exception {
UserServiceImpl userService = new UserServiceImpl();
userService.setUserRepository(userRepository());
return userService;
}
}