spring - 将 Java 8 代码移植到 Java 7

标签 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"));
        };
    }

最佳答案

你可以这样做:

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"));
        }
    }

}

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

关于spring - 将 Java 8 代码移植到 Java 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24266736/

相关文章:

java - 在我的情况下是 Lock+HasMap 还是 ConcurrentHashMap?

Java日期显示前一天、前一个月和完全不同的年份

java - 创建类路径资源 [EnableWebMvcConfiguration.class] 中定义的名称为 'resourceHandlerMapping' 的 bean 时出错

Java 7 在一些基本的解析任务上比 Java 6 慢 8 倍

java - PSQL异常 : This connection has been closed - Spring Boot + AWS RDS + Postgres

java - 如何在方法中流式传输 Java List (Varargs) 的值?

eclipse - Java 8 & 缺少所需的能力 Require-Capability : osgi. ee;过滤器 ="(&(osgi.ee=JavaSE)(version=1.8))"

Java 8 类型推断 - 如何减少泛型构造函数?

java - 尝试访问 dao bean 时 Autowiring 依赖项的注入(inject)失败

java - 使用 ApplicationContext 但不使用 XmlBeanFactory