public interface IUserService extends UserDetailsService {
public List findAll(int page,int size);
public boolean doLogin(UserInfo userInfo);
int addUser(UserInfo user);
int deleteUser(UserInfo user);
int updateUser(UserInfo user);
}
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
UserInfo userInfo=userDao.findByUserName(username);
if(userInfo!=null){
List roles= roleDao.findRoleByUserId(userInfo.getId());
userInfo.setRoles(roles);
User user=new User(userInfo.getUsername(),"{noop}"+userInfo.getPassword(),getAuthority(roles));
return user;
}
return null;
}
private List getAuthority(List roles) {
List list=new ArrayList<>();
for (Role role:roles){
list.add(new SimpleGrantedAuthority("ROLE_"+ role.getRoleName()));
}
return list;
}
}
public interface IUserDao {
public List findAll();
public UserInfo doLogin(UserInfo userInfo);
int addUser(UserInfo user);
int deleteUser(UserInfo user);
int updateUser(UserInfo user);
public UserInfo findByUserName(String username);
}
7.新建Role实体类,IRoleDao类,rolemapper.xml文件;
public class Role {
private int id;
private String roleName;
private String roleDesc;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getRoleName() {
return roleName;
}
public void setRoleName(String roleName) {
this.roleName = roleName;
}
public String getRoleDesc() {
return roleDesc;
}
public void setRoleDesc(String roleDesc) {
this.roleDesc = roleDesc;
}
@Override
public String toString() {
return "Role{" +
"id=" + id +
", roleName='" + roleName + '\'' +
", roleDesc='" + roleDesc + '\'' +
'}';
}
}
public interface IRoleDao {
public List findRoleByUserId(int userId);
}
8.在UserInfo类中添加新的属性private List roles;,完成UserService中新增的函数。
今天和同事争论一问题,关于静态变量与非静态变量的初始化顺序,谁先谁后,最终想整理出来!测试代码:
import java.util.Map;
public class T {
public static T t = new T();
private Map map = new HashMap();
public T(){
System.out.println(&quo
完整命令
CREATE DATABASE mynewdb USER SYS IDENTIFIED BY sys_password USER SYSTEM IDENTIFIED BY system_password LOGFILE GROUP 1 ('/u01/logs/my/redo01a.log','/u02/logs/m
多线程并发使用同一个channel
java.nio.BufferOverflowException: null
at java.nio.HeapByteBuffer.put(HeapByteBuffer.java:183) ~[na:1.7.0_60-ea]
at java.nio.ByteBuffer.put(ByteBuffer.java:832) ~[na:1.7.0_60-ea]