小编csy*_*ski的帖子

Java 8可选asSet()

所以我现在已经使用Guava的Optional一段时间了,我转向Java 8,所以我想使用它的Optional类,但它没有我最喜欢的方法来自Guava,asSet().有没有办法用Java 8 Optional执行此操作,我没有看到.我喜欢将可选项视为一个集合,所以我可以这样做:

for( final User u : getUserOptional().asSet() ) {
   return u.isPermitted(getPermissionRequired());
}
Run Code Online (Sandbox Code Playgroud)

在某些情况下,避免需要额外的变量.

IE

 Optional<User> optUser = getUserOptional();
 if ( optUser.isPresent() ) {
     return optUser.get().isPermitted(getPermissionRequired());
 }
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法来复制Java 8的可选中的番石榴风格?

谢谢

java optional guava java-8

5
推荐指数
2
解决办法
1984
查看次数

OpenSaml3文档

有谁知道OpenSaml3是否有任何文档?支付还是其他?我知道曾经有一本15美元的书可用,但我相信它只涵盖OpenSaml2.

我知道这可能会被投票,因为它不是一个特定于编程的问题,但Spring-Saml现在将SO列为主要论坛(http://projects.spring.io/spring-security-saml/).如果没有一个好的库,SAML很难实现,我认为Spring-SAML是在JVM上编写的人最好的东西.因为Spring-Saml看起来被抛弃了,OpenSaml2很快就会终结.我想看看我是否可以更新Spring Saml以使用更新支持的OpenSAML版本,但除了src代码之外似乎没有文档(没有迁移指南,甚至是已发布的javadoc).任何人都可以指出我正确的方向.

java spring-security saml opensaml spring-saml

5
推荐指数
1
解决办法
1952
查看次数

Spring Boot 2 禁用具有多个数据源的 Autocommit Hikari

我试图关闭具有多个数据源的 Hikari 的自动提交,但我没有任何运气。我正在使用 Spring Boot 2 (2.0.3.RELEASE)。这是我的配置:

应用程序属性

spring.datasource.primary.driver=com.mysql.cj.jdbc.Driver
spring.datasource.primary.url=jdbc:mysql://localhost:3306/spark?autoReconnect=true
spring.datasource.primary.username=xxxx
spring.datasource.primary.password=xxxx
spring.datasource.primary.max-active=100
spring.datasource.primary.max-idle=5
spring.datasource.primary.min-idle=1
spring.datasource.primary.test-while-idle=true
spring.datasource.primary.test-on-borrow=true
spring.datasource.primary.validation-query=SELECT 1
spring.datasource.primary.time-between-eviction-runs-millis=5000
spring.datasource.primary.min-evictable-idle-time-millis=60000


spring.datasource.ucm.driver=com.mysql.cj.jdbc.Driver
spring.datasource.ucm.url=jdbc:mysql://localhost:3306/usercentral?autoReconnect=true
spring.datasource.ucm.username=xxx
spring.datasource.ucm.password=xxx
spring.datasource.ucm.max-active=100
spring.datasource.ucm.test-while-idle=true
spring.datasource.ucm.test-on-borrow=true
spring.datasource.ucm.validation-query=SELECT 1
spring.datasource.ucm.time-between-eviction-runs-millis=5000
spring.datasource.ucm.min-evictable-idle-time-millis=60000
spring.datasource.ucm.hikari.auto-commit=false  # <- Not working
Run Code Online (Sandbox Code Playgroud)

这是我设置数据源的配置类

@Primary
@Bean
@ConfigurationProperties("spring.datasource.primary")
public DataSourceProperties primaryDataSourceProperties() {
    return new DataSourceProperties();
}

@Bean
@Primary
@ConfigurationProperties("spring.datasource.primary")
public DataSource primaryDataSource() {
    return primaryDataSourceProperties().initializeDataSourceBuilder().build();
}

@Bean
@ConfigurationProperties("spring.datasource.ucm")
public DataSourceProperties ucmDataSourceProperties() {
    return new DataSourceProperties();
}

@Bean(name="ucmDataSource")
@ConfigurationProperties("spring.datasource.ucm")
public DataSource ucmDataSource() {
    return ucmDataSourceProperties().initializeDataSourceBuilder().build();
}
Run Code Online (Sandbox Code Playgroud)

这是创建池时输出的内容:

-2018-08-23 …
Run Code Online (Sandbox Code Playgroud)

java spring-boot hikaricp

5
推荐指数
1
解决办法
1万
查看次数

spring.jpa.open-in-view=false 没有会话

我有一个 Spring Boot 2.1 应用程序,带有简单的休息控制器、服务层和数据层。我正在尝试禁用 spring.jpa.open-in-view 因为我想管理我的集合的加载等。我的问题似乎是当我禁用 open-in-view 时,我无法在我的视图中返回任何内容控制器包括简单的属性,包括字符串。

示例项目,代码的简化版本如下:

https://github.com/csyperski/springbootopeninview

这是我的错误:

2019-02-05 09:06:19.591 -ERROR 11355 --- [nio-8081-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet]    :  175 : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.hibernate.LazyInitializationException: could not initialize proxy [com.cwssoft.pscafepos.model.Item#268] - no Session] with root cause
-
org.hibernate.LazyInitializationException: could not initialize proxy [com.cwssoft.pscafepos.model.Item#268] - no Session
    at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:169) ~[hibernate-core-5.3.7.Final.jar:5.3.7.Final]
    at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:309) ~[hibernate-core-5.3.7.Final.jar:5.3.7.Final]
    at org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor.intercept(ByteBuddyInterceptor.java:45) ~[hibernate-core-5.3.7.Final.jar:5.3.7.Final]
    at org.hibernate.proxy.ProxyConfiguration$InterceptorDispatcher.intercept(ProxyConfiguration.java:95) ~[hibernate-core-5.3.7.Final.jar:5.3.7.Final]
    at com.cwssoft.pscafepos.model.Item$HibernateProxy$h2GPuZuU.getBuilding(Unknown Source) ~[main/:na]
    at com.cwssoft.pscafepos.controllers.ItemController.lambda$getSingle$3(ItemController.java:52) ~[main/:na] …
Run Code Online (Sandbox Code Playgroud)

java spring jpa spring-boot

5
推荐指数
0
解决办法
2767
查看次数

SpringBoot loader.path无法加载外部Jar

我正在使用springboot作为webapp,我正在尝试设置一个外部目录,该目录将包含最终用户可能选择使用的各种JDBC驱动程序.要做到这一点,我补充说:

loader.path=/opt/myapp/lib/
Run Code Online (Sandbox Code Playgroud)

到我的application.properties文件,这是由PropertySourcesPropertyResolver选取的

2016-04-28 17:27:38.739 DEBUG 22539 --- [restartedMain] o.s.c.e.PropertySourcesPropertyResolver  : Found key 'loader.path' in [applicationConfigurationProperties] with type [String] and value '/opt/myapp/lib/'
Run Code Online (Sandbox Code Playgroud)

我的问题是我似乎无法从任何放入此目录的jar中加载任何JDBC驱动程序,我缺少什么?我正在使用默认的嵌入式tomcat服务器.当我尝试使用Class.forName加载驱动程序时,我得到以下内容,就像该目录中不存在jar.

 public Connection buildConnection(DataSource dataSource) throws ClassNotFoundException, SQLException {

    if (dataSource == null) {
        throw new NullPointerException("Data Source is null!");
    }

    if (!dataSource.isReady()) {
        throw new IllegalArgumentException("Data Source is reporting that it is not ready!");
    }

    logger.debug("Loading JDBC Driver: {}", dataSource.getDriverClass());
    Class.forName(dataSource.getDriverClass());
    logger.debug("Loaded Driver: {}", dataSource.getDriverClass());

    logger.debug("Attempting to build connection using: {}", dataSource.getConnectionString());

    DriverManager.setLoginTimeout(10);
    Connection c = DriverManager.getConnection(dataSource.getConnectionString(), …
Run Code Online (Sandbox Code Playgroud)

java jdbc spring-boot

4
推荐指数
1
解决办法
6189
查看次数

Spring Boot - 从Application.properties填充列表/集合?

这可能是一个愚蠢的问题,但是可以从Spring Boot中的application.properties文件填充列表.这是一个简单的例子:

public class SomeClass {
    @Value("${hermes.api.excluded.jwt}")
    private List<String> excludePatterns = new ArrayList<>();
    // getters/settings ....
}
Run Code Online (Sandbox Code Playgroud)

application.properties

// Is something along these lines possible????
hermes.api.excluded.jwt[0]=/api/auth/
hermes.api.excluded.jwt[1]=/api/ss/
Run Code Online (Sandbox Code Playgroud)

我知道我可以爆炸一个逗号分隔的字符串,但我只是好奇,如果有一个原生的春季启动方式来做到这一点?

java spring spring-boot

4
推荐指数
1
解决办法
5158
查看次数

angular2 material design - Reactive Forms - md-select不填充默认值

我遇到了Angular2的材质md-select组件的问题,其中FormGroup的值未加载或填充到select中.这是代码......

https://embed.plnkr.co/p7Fm9lC4TxoVaZ8ydYf0/

控件'formal'的值设置为1,但UI显示为没有使用占位符消息填充值.

难道我做错了什么?

typescript material-design angular-material2 angular

4
推荐指数
1
解决办法
3452
查看次数

进程已完成,退出代码 1 Spring Boot Intellij 无其他日志

我在控制台 /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home/bin/java... 中没有看到任何日志

进程已完成,退出代码为 1

java spring-boot

2
推荐指数
1
解决办法
4490
查看次数

如何仅更改所有材质组件 Angular 15 的字体系列?

好吧,为什么改变字体系列是最痛苦的事情,但同时却没有很好的记录。我只需要更改应用程序材料组件的字体系列。如何做到这一点?我见过这个: https: //material.angular.io/guide/typography 但是你真的需要重新定义所有内容只是为了更改字体系列吗?

angular-material angular

1
推荐指数
1
解决办法
1024
查看次数