小编Kel*_*lyM的帖子

Spring Session with JDBC - 如何使用单独的数据库作为会话存储

我正在开发一个使用 Spring Session JDBC 的应用程序。我也将 Spring JPA 用于其他实体。我的问题是,如何配置 Spring Boot 应用程序以允许将单独的数据库用于会话存储?

我已经引用了这个问题,但答案中提到的 JdbcHttpSessionConfiguration 构造函数似乎不再有效(我使用的是 Spring Boot 2.1.1)。除此之外,我找不到有关该主题的任何文档。我找到了有关如何使用 JDBC 支持配置 Spring Session 以及如何在 Spring 中使用多个数据源的信息,但没有找到有关如何将两者结合的信息。我认为它可能涉及扩展JdbcHttpSessionConfiguration,但不幸的是,我无法弄清楚如何正确地这样做。

这是我迄今为止的全部内容:

    @Configuration
class SessionConfig extends JdbcHttpSessionConfiguration {

    @Bean
    public DataSource dataSource() {
        return new EmbeddedDatabaseBuilder().setType(EmbeddedDatabaseType.H2).build();
    }

}
Run Code Online (Sandbox Code Playgroud)

但是,上述尝试也在 H2 存储中创建我的所有实体表。

我的主数据源 (PostgreSQL) 在我的application.properties.

spring.session.store-type=jdbc
spring.datasource.url=jdbc:postgresql://localhost/auth
spring.datasource.username=xxx
spring.datasource.password=xxx
spring.datasource.driverClassName=org.postgresql.Driver
spring.jpa.show-sql=true
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
Run Code Online (Sandbox Code Playgroud)

感谢您的任何指导。

java spring-boot spring-session

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

WPF - 文本框中的文本不可选择?

我正在开发一个将文本动态加载到文本框控件中的项目。问题是,由于某种原因,文本似乎无法被选择。我不明白为什么,因为我认为默认情况下,文本框中的文本是可选的。这是为什么?我该如何解决它?这是我的 XAML:

 <Window x:Name="viewWindow" x:Class="Games_Database.View"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="View" Height="300" Width="600" Loaded="windowLoad" ScrollViewer.HorizontalScrollBarVisibility="Visible">
<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="77*"/>
        <RowDefinition Height="13*"/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="57*"/>           
    </Grid.ColumnDefinitions>
    <ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" Width="550" Margin="21,5,21,10" Grid.RowSpan="2" IsManipulationEnabled="True">
        <TextBox x:Name="text" HorizontalAlignment="Center" Margin="5,0,0,0" TextWrapping="Wrap" VerticalAlignment="Center" IsHitTestVisible="False" Height="Auto" Width="500" Grid.RowSpan="2" ScrollViewer.CanContentScroll="True" FontSize="14" FontFamily="Times New Roman" IsInactiveSelectionHighlightEnabled="True" Text="" AutoWordSelection="True" />
    </ScrollViewer>
</Grid>
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激。提前非常感谢!

c# wpf

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

Unity,Moq和NUnit - 在测试中未识别参数的控制器构造函数

我对单元测试很新,所以如果这不是一个非常好的问题,我会道歉.

我有一个主要的Web项目,以及一个附带的NUnit测试库.我正在使用Unity将接口注入主项目中的控制器.例如:

    public class EquipmentController : Controller
{
    private readonly ILocationRepository locationContext = null;
    private readonly IRepository<EquipmentCategory> categoryContext = null;
    private readonly IEquipmentRepository equipmentContext = null;
    private readonly IRecordRepository recordContext = null;

    public EquipmentController(ILocationRepository locationRepo, IRepository<EquipmentCategory> categoryRepo, IEquipmentRepository equipmentRepo, IRecordRepository recordRepo)
    {
        this.locationContext = locationRepo;
        this.categoryContext = categoryRepo;
        this.equipmentContext = equipmentRepo;
        this.recordContext = recordRepo;
    }
Run Code Online (Sandbox Code Playgroud)

Web应用程序本身实际上按预期工作.但是,我在尝试编写测试用例时遇到了问题.例如,在测试库中,我有以下内容:

using NUnit.Framework;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Practices.Unity.Mvc;
using Microsoft.Practices.Unity.ObjectBuilder;
using Microsoft.Practices.Unity.StaticFactory;
using Moq;
using ITEquipmentDatabase;
using ITEquipmentDatabase.Models; …
Run Code Online (Sandbox Code Playgroud)

c# unit-testing unity-container

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

Spring Security OAuth2 - 是否可以更改表名和列名?

我正在使用 Spring Boot 和 Spring Security 构建启用 OAuth2 的应用程序。最初,我使用了此处注明的架构。这样,我至少能够使应用程序正常运行。但是,我希望数据库对象的命名方式略有不同 - 特别是使用 PascalCase 而不是下划线。

例如,代替

CREATE TABLE [dbo].[oauth_client_details](
    [client_id] [varchar](256) NOT NULL,
    [resource_ids] [varchar](256) NULL,
    [client_secret] [varchar](256) NULL,
    [scope] [varchar](256) NULL,
    [authorized_grant_types] [varchar](256) NULL,
    [web_server_redirect_uri] [varchar](256) NULL,
    [authorities] [varchar](256) NULL,
    [access_token_validity] [int] NULL,
    [refresh_token_validity] [int] NULL,
    [additional_information] [varchar](4096) NULL,
    [autoapprove] [varchar](256) NULL,
PRIMARY KEY CLUSTERED 
(
    [client_id] ASC
)
Run Code Online (Sandbox Code Playgroud)

我想拥有:

CREATE TABLE [dbo].[OAuthClientDetails](
    [ClientID] [nvarchar](256) NOT NULL,
    [ResourceIDs] [nvarchar](256) NULL,
    [ClientSecret] [nvarchar](256) NOT NULL,
    [Scope] [nvarchar](256) NULL,
    [AuthorizedGrantTypes] [nvarchar](256) …
Run Code Online (Sandbox Code Playgroud)

java spring oauth spring-security

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

Java Timer幻灯片

我正在构建一个Android应用程序并试图通过使用计时器类来实现幻灯片演示.第一个图像加载正常,然后我的应用程序崩溃.知道问题可能是什么吗?

import android.app.Service;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.IBinder;
import android.service.dreams.DreamService;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.widget.ImageView;

import java.util.ArrayList;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;

public class screenSaver extends DreamService {
    ArrayList<Bitmap> imageList = new ArrayList<Bitmap>();
    int slideCounter = 0;
    ImageView slide;
    Cursor images;
    private int counter = 0;
    public screenSaver() {

    }

    @Override
    public void onAttachedToWindow() {
        super.onAttachedToWindow();
        setInteractive(false);
        setFullscreen(true);
        setContentView(R.layout.screen_saver);
        databaseHelper dbHelper = new databaseHelper(this);
        SQLiteDatabase db = …
Run Code Online (Sandbox Code Playgroud)

java android timer

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

Sails.js / Waterline - Create 不是模型上的函数

我是 Node.js 和 Sails.js 框架的新手。我正在尝试使用该框架构建网站/应用程序,但无法让模型部分按预期工作。我已经查看了很多文档,但仍然无法执行此基本任务。我正在使用 PostgreSQL 适配器。

堆栈如下:

TypeError: Fragrance.create is not a function\n    at Object.module.exports.index (/home/kelly/workspace/Hawthorne-Acres/api/controllers/HomeController.js:16:19)\n    at wrapper (/usr/local/lib/node_modules/sails/node_modules/@sailshq/lodash/lib/index.js:3250:19)\n    at routeTargetFnWrapper (/usr/local/lib/node_modules/sails/lib/router/bind.js:181:5)\n    at callbacks (/usr/local/lib/node_modules/sails/node_modules/@sailshq/express/lib/router/index.js:164:37)\n    at param (/usr/local/lib/node_modules/sails/node_modules/@sailshq/express/lib/router/index.js:138:11)\n    at param (/usr/local/lib/node_modules/sails/node_modules/@sailshq/express/lib/router/index.js:135:11)\n    at pass (/usr/local/lib/node_modules/sails/node_modules/@sailshq/express/lib/router/index.js:145:5)\n    at nextRoute (/usr/local/lib/node_modules/sails/node_modules/@sailshq/express/lib/router/index.js:100:7)\n    at callbacks (/usr/local/lib/node_modules/sails/node_modules/@sailshq/express/lib/router/index.js:167:11)\n    at alwaysAllow (/usr/local/lib/node_modules/sails/lib/hooks/policies/index.js:224:11)\n    at routeTargetFnWrapper (/usr/local/lib/node_modules/sails/lib/router/bind.js:181:5)\n    at callbacks (/usr/local/lib/node_modules/sails/node_modules/@sailshq/express/lib/router/index.js:164:37)\n    at param (/usr/local/lib/node_modules/sails/node_modules/@sailshq/express/lib/router/index.js:138:11)\n    at param (/usr/local/lib/node_modules/sails/node_modules/@sailshq/express/lib/router/index.js:135:11)\n    at pass (/usr/local/lib/node_modules/sails/node_modules/@sailshq/express/lib/router/index.js:145:5)\n    at nextRoute (/usr/local/lib/node_modules/sails/node_modules/@sailshq/express/lib/router/index.js:100:7)\n    at callbacks (/usr/local/lib/node_modules/sails/node_modules/@sailshq/express/lib/router/index.js:167:11)\n    at module.exports (/usr/local/lib/node_modules/sails/lib/hooks/cors/clear-headers.js:14:3)\n    at routeTargetFnWrapper (/usr/local/lib/node_modules/sails/lib/router/bind.js:181:5)\n    at callbacks (/usr/local/lib/node_modules/sails/node_modules/@sailshq/express/lib/router/index.js:164:37)\n    at param (/usr/local/lib/node_modules/sails/node_modules/@sailshq/express/lib/router/index.js:138:11)\n    at pass (/usr/local/lib/node_modules/sails/node_modules/@sailshq/express/lib/router/index.js:145:5)" …
Run Code Online (Sandbox Code Playgroud)

node.js sails.js waterline

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

Spring Boot H2数据库 - 表不显示

我正在尝试在开发Spring Boot应用程序时使用H2数据库.我正在使用Spring Data JPA启动器.

的build.gradle

    dependencies {
    compile('org.springframework.boot:spring-boot-starter-data-rest')
    compile('org.springframework.boot:spring-boot-starter-jdbc')
    compile('org.springframework.boot:spring-boot-starter-data-jpa')
    compile('org.springframework.boot:spring-boot-starter-security')
    compile('commons-io:commons-io:2.5')    
    compile('org.springframework.security:spring-security-jwt:1.0.7.RELEASE')
    compile('org.springframework.security.oauth:spring-security-oauth2:2.2.1.RELEASE')
    // compile 'com.microsoft.sqlserver:mssql-jdbc:6.2.2.jre8'   
    runtime('org.springframework.boot:spring-boot-devtools')
    compile ('org.apache.httpcomponents:httpclient:4.5.5')
    testCompile('com.h2database:h2:1.4.196')
    testCompile('org.springframework.boot:spring-boot-starter-test')
    testCompile('org.springframework.security:spring-security-test')    

}
Run Code Online (Sandbox Code Playgroud)

我使用Java注释来定义实体.

示例类:

@Entity
@Table(name="auth_user")
public class OAuthUser {

//    @Autowired 
//    @Transient
//    private PasswordEncoder passwordEncoder;
//    
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(name= "username")
    private String userName;

    @Column(name="password")
    @JsonIgnore
    private String password;

    @Column(name="first_name")
    private String firstName;

    @Column(name="last_name")
    private String lastName;

    @Column(name="email")
    private String email;

    @Column(name="is_enabled")
    private boolean isEnabled;

     /**
      * Reference: https://github.com/nydiarra/springboot-jwt/blob/master/src/main/java/com/nouhoun/springboot/jwt/integration/domain/User.java
     * Roles …
Run Code Online (Sandbox Code Playgroud)

java h2 spring-boot

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

C#.Net中的三元运算符和Eval - 无法将字符串转换为bool

我有一个项目,其数据可能有也可能没有与之关联的文件.如果记录没有与之关联的文件,我不想显示链接/标签.我认为使用三元运算符实现起来相当简单,但我收到以下内容:

: CS0030: Cannot convert type 'string' to 'bool'
Run Code Online (Sandbox Code Playgroud)

由包含此语句的行生成

<asp:Label Visible='<%#  Eval("supportingDocuments") == null ? "False" : "True" %>' id="supportingFileLink" runat="server" Text='Other' /> 
Run Code Online (Sandbox Code Playgroud)

对我来说,这意味着它被 Eval("supportingDocuments") == null视为一个字符串,而不是一个可以被评估为布尔值的条件.我试过在条件周围添加括号,但这并没有改变任何东西.

编辑:这是一个数据绑定GridView控件; 对不起,早些时候没有提到.

.net c#

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