将Java 8代码移植到Java 7

时间:2014-06-17 14:42:32

标签: spring java-7 java-8

是否可以将这段代码从Java 8移植到Java 7?

    protected UserDetailsService userDetailsService() {
        return (username) -> {
            User u = crmService.findUserByUsername(username);
            return new org.springframework.security.core.userdetails.User(
                    u.getUsername(), u.getPassword(), u.isEnabled(),
                    u.isEnabled(), u.isEnabled(), u.isEnabled(),
                    AuthorityUtils.createAuthorityList("USER", "write"));
        };
    }

1 个答案:

答案 0 :(得分:3)

你可以这样做:

protected UserDetailsService userDetailsService() {
    return new UserDetailsService() {
        @Override
        UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
                User u = crmService.findUserByUsername(username);
                return new org.springframework.security.core.userdetails.User(
                        u.getUsername(), u.getPassword(), u.isEnabled(),
                        u.isEnabled(), u.isEnabled(), u.isEnabled(),
                        AuthorityUtils.createAuthorityList("USER", "write"));
        }
    }

}

但是你绝对应该考虑将它提取到普通类并在那里返回新对象

相关问题