我正在开发一个使用 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)
感谢您的任何指导。
我正在开发一个将文本动态加载到文本框控件中的项目。问题是,由于某种原因,文本似乎无法被选择。我不明白为什么,因为我认为默认情况下,文本框中的文本是可选的。这是为什么?我该如何解决它?这是我的 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)
任何帮助将不胜感激。提前非常感谢!
我对单元测试很新,所以如果这不是一个非常好的问题,我会道歉.
我有一个主要的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) 我正在使用 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) 我正在构建一个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) 我是 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) 我正在尝试在开发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) 我有一个项目,其数据可能有也可能没有与之关联的文件.如果记录没有与之关联的文件,我不想显示链接/标签.我认为使用三元运算符实现起来相当简单,但我收到以下内容:
: 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控件; 对不起,早些时候没有提到.