Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.core.newbie.model;
- import javax.persistence.*;
- import java.util.Set;
- public class User {
- private Integer id;
- private String userName;
- private String password;
- private Integer age;
- @ManyToMany
- @JoinTable(name = "user_roles", joinColumns = @JoinColumn(name = "user_id"),
- inverseJoinColumns = @JoinColumn(name = "role_id"))
- private Set<Role> roles;
- public Integer getId() {
- return id;
- }
- public void setId(final Integer id) {
- this.id = id;
- }
- public String getUserName() {
- return userName;
- }
- public void setUserName(final String userName) {
- this.userName = userName == null ? null : userName.trim();
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(final String password) {
- this.password = password == null ? null : password.trim();
- }
- public Integer getAge() {
- return age;
- }
- public void setAge(final Integer age) {
- this.age = age;
- }
- public Set<Role> getRoles() {
- return roles;
- }
- public void setRoles(Set<Role> roles) {
- this.roles = roles;
- }
- }
- package com.core.newbie.dao;
- import com.core.newbie.model.User;
- import org.springframework.data.jpa.repository.JpaRepository;
- public interface UserDao extends JpaRepository<User, Long> {
- User findByUsername(String username);
- }
- package com.core.newbie.dao;
- import com.core.newbie.model.Role;
- import com.core.newbie.model.User;
- import org.springframework.data.jpa.repository.JpaRepository;
- public interface RoleDao extends JpaRepository<Role, Integer> {
- }
- package com.core.newbie.service;
- import java.util.List;
- import com.core.newbie.model.User;
- public interface UserService {
- User getUserById(int userId);
- User findByUsername(String username);
- void save(User user);
- List<User> getAll();
- }
- package com.core.newbie.impl;
- import com.core.newbie.dao.RoleDao;
- import com.core.newbie.dao.UserDao;
- import com.core.newbie.mapper.UserMapper;
- import com.core.newbie.model.Role;
- import com.core.newbie.model.User;
- import com.core.newbie.service.UserService;
- import java.util.List;
- import org.apache.ibatis.annotations.Select;
- import java.util.HashSet;
- import java.util.Set;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.context.annotation.Bean;
- import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
- import org.springframework.security.crypto.password.PasswordEncoder;
- import org.springframework.stereotype.Service;
- @Service("userService")
- public class UserServiceImpl implements UserService {
- @Autowired
- private UserMapper userMapper;
- @Autowired
- private UserDao userDao;
- @Autowired
- private RoleDao roleDao;
- @Bean
- public PasswordEncoder passwordEncoder() {
- return new BCryptPasswordEncoder();
- }
- @Autowired
- private PasswordEncoder bCryptPasswordEncoder;
- @Override
- public User getUserById(final int userId) {
- return userMapper.selectByPrimaryKey(userId);
- }
- @Override
- public void save(final User user) {
- user.setPassword(bCryptPasswordEncoder.encode(user.getPassword()));
- Set<Role> roles = new HashSet<>();
- roles.add(roleDao.getOne(1L));
- user.setRoles(roles);
- userDao.save(user);
- }
- @Override
- @Select("select * from n_user")
- public List<User> getAll() {
- return userMapper.findAll();
- }
- @Override
- public User findByUsername(String username) {
- return userDao.findByUsername(username);
- }
- }
- package com.core.newbie.service;
- import com.core.newbie.dao.UserDao;
- import com.core.newbie.model.Role;
- import com.core.newbie.model.User;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.security.core.GrantedAuthority;
- import org.springframework.security.core.authority.SimpleGrantedAuthority;
- import org.springframework.security.core.userdetails.UserDetails;
- import org.springframework.security.core.userdetails.UserDetailsService;
- import org.springframework.security.core.userdetails.UsernameNotFoundException;
- import org.springframework.transaction.annotation.Transactional;
- import java.util.HashSet;
- import java.util.Set;
- public class UserDetailsServiceImpl implements UserDetailsService {
- @Autowired
- private UserDao userDao;
- @Override
- @Transactional(readOnly = true)
- public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
- User user = userDao.findByUsername(username);
- Set<GrantedAuthority> grantedAuthorities = new HashSet<>();
- for (Role role : user.getRoles()) {
- grantedAuthorities.add(new SimpleGrantedAuthority(role.getName()));
- }
- return new
- org.springframework.security.core.userdetails.User(user.getUsername(),
- user.getPassword(), grantedAuthorities);
- }
- }
- package com.core.newbie.action;
- import com.alibaba.fastjson.JSON;
- import com.core.newbie.model.User;
- import com.core.newbie.service.UserService;
- import org.apache.log4j.Logger;
- import org.junit.Test;
- import org.junit.runner.RunWith;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.test.context.ContextConfiguration;
- import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
- @RunWith(SpringJUnit4ClassRunner.class)
- @ContextConfiguration(locations = {"classpath:spring-mybatis.xml"})
- public class UserActionTest {
- private static final Logger logger = Logger.getLogger(UserActionTest.class);
- private UserService userService;
- @Autowired
- public void setUserService(final UserService userService) {
- this.userService = userService;
- }
- public UserService getUserService() {
- return userService;
- }
- @Test
- public void test1() {
- final User user = userService.getUserById(1);
- logger.info(JSON.toJSON(user));
- }
- @Test
- public void test2() {
- final User user = new User();
- user.setId(112);
- user.setAge(14);
- user.setPassword("12");
- user.setUserName("derrick-2");
- userService.insetUser(user);
- logger.info(JSON.toJSON(user));
- }
- }
Add Comment
Please, Sign In to add comment