코드 5-10 데이터베이스 명령을 실행하는 LicenseService 클래스
@Service
public class LicenseService {
@Autowired
MessageSource messages;
@Autowired
private LicenseRepository licenseRepository;
@Autowired
ServiceConfig config;
public License getLicense(String licenseId, String organizationId) {
License license =
licenseRepository.findByOrganizationIdAndLicenseId(organizationId,
licenseId);
if (null == license) {
throw new IllegalArgumentException(
String.format(messages.getMessage(
"license.search.error.message", null, null),
licenseId, organizationId));
}
return license.withComment(config.getProperty());
}
public License createLicense(License license) {
license.setLicenseId(UUID.randomUUID().toString());
licenseRepository.save(license);
return license.withComment(config.getProperty());
}
public License updateLicense(License license) {
licenseRepository.save(license);
return license.withComment(config.getProperty());
}
public String deleteLicense(String licenseId) {
String responseMessage = null;
License license = new License();
license.setLicenseId(licenseId);
licenseRepository.delete(license);
responseMessage =
String.format(messages.getMessage(
"license.delete.message", null, null), licenseId);
return responseMessage;
}
}
컨트롤러, 서비스, 리포지터리 클래스들이 스프링 표준 @Autowired 애너테이션을 사용하여 서로 연결되어 있다. 다음 절에서 LicenseService 클래스에서 구성 정보 프로퍼티를 읽는 방법을 살펴보자.