From 221c3eab70825e2a03deabc93dff9f5b3bf8f579 Mon Sep 17 00:00:00 2001 From: Li Shengzhao Date: Mon, 4 Apr 2016 14:21:49 +0800 Subject: [PATCH] =?UTF-8?q?(118)=20-=20Add=20java-config(=E9=9B=B6?= =?UTF-8?q?=E9=85=8D=E7=BD=AE)=20=E7=9A=84=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/monkeyk/sos/service/impl/OauthServiceImpl.java | 7 +++++++ .../java/com/monkeyk/sos/service/impl/UserServiceImpl.java | 7 +++++++ src/main/resources/spring/{context.xml => context.xml.old} | 0 .../spring/{transaction.xml => transaction.xml.old} | 0 4 files changed, 14 insertions(+) rename src/main/resources/spring/{context.xml => context.xml.old} (100%) rename src/main/resources/spring/{transaction.xml => transaction.xml.old} (100%) diff --git a/src/main/java/com/monkeyk/sos/service/impl/OauthServiceImpl.java b/src/main/java/com/monkeyk/sos/service/impl/OauthServiceImpl.java index ca5ad2d..97583a9 100644 --- a/src/main/java/com/monkeyk/sos/service/impl/OauthServiceImpl.java +++ b/src/main/java/com/monkeyk/sos/service/impl/OauthServiceImpl.java @@ -6,6 +6,8 @@ import com.monkeyk.sos.domain.oauth.OauthRepository; import com.monkeyk.sos.service.OauthService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; import java.util.List; @@ -19,28 +21,33 @@ public class OauthServiceImpl implements OauthService { private OauthRepository oauthRepository; @Override + @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public OauthClientDetails loadOauthClientDetails(String clientId) { return oauthRepository.findOauthClientDetails(clientId); } @Override + @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public List loadAllOauthClientDetailsDtos() { List clientDetailses = oauthRepository.findAllOauthClientDetails(); return OauthClientDetailsDto.toDtos(clientDetailses); } @Override + @Transactional(propagation = Propagation.REQUIRED) public void archiveOauthClientDetails(String clientId) { oauthRepository.updateOauthClientDetailsArchive(clientId, true); } @Override + @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public OauthClientDetailsDto loadOauthClientDetailsDto(String clientId) { final OauthClientDetails oauthClientDetails = oauthRepository.findOauthClientDetails(clientId); return oauthClientDetails != null ? new OauthClientDetailsDto(oauthClientDetails) : null; } @Override + @Transactional(propagation = Propagation.REQUIRED) public void registerClientDetails(OauthClientDetailsDto formDto) { OauthClientDetails clientDetails = formDto.createDomain(); oauthRepository.saveOauthClientDetails(clientDetails); diff --git a/src/main/java/com/monkeyk/sos/service/impl/UserServiceImpl.java b/src/main/java/com/monkeyk/sos/service/impl/UserServiceImpl.java index 71a1872..9e50d0c 100644 --- a/src/main/java/com/monkeyk/sos/service/impl/UserServiceImpl.java +++ b/src/main/java/com/monkeyk/sos/service/impl/UserServiceImpl.java @@ -16,6 +16,8 @@ import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.security.oauth2.provider.OAuth2Authentication; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; import java.util.Collection; import java.util.List; @@ -30,6 +32,7 @@ public class UserServiceImpl implements UserService { private UserRepository userRepository; @Override + @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { User user = userRepository.findByUsername(username); if (user == null || user.archived()) { @@ -40,6 +43,7 @@ public class UserServiceImpl implements UserService { } @Override + @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public UserJsonDto loadCurrentUserJsonDto() { final Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); final Object principal = authentication.getPrincipal(); @@ -54,6 +58,7 @@ public class UserServiceImpl implements UserService { } @Override + @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public UserOverviewDto loadUserOverviewDto(UserOverviewDto overviewDto) { List users = userRepository.findUsersByUsername(overviewDto.getUsername()); overviewDto.setUserDtos(UserDto.toDtos(users)); @@ -61,12 +66,14 @@ public class UserServiceImpl implements UserService { } @Override + @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public boolean isExistedUsername(String username) { final User user = userRepository.findByUsername(username); return user != null; } @Override + @Transactional(propagation = Propagation.REQUIRED) public String saveUser(UserFormDto formDto) { User user = formDto.newUser(); userRepository.saveUser(user); diff --git a/src/main/resources/spring/context.xml b/src/main/resources/spring/context.xml.old similarity index 100% rename from src/main/resources/spring/context.xml rename to src/main/resources/spring/context.xml.old diff --git a/src/main/resources/spring/transaction.xml b/src/main/resources/spring/transaction.xml.old similarity index 100% rename from src/main/resources/spring/transaction.xml rename to src/main/resources/spring/transaction.xml.old