小编Kev*_*ave的帖子

@Pattern用于字母数字字符串 - Bean验证

我在bean中有一个变量名.我想添加@Pattern验证只接受字母数字.

目前,我有这个.

 @NotNull
 @Pattern(regexp = "{A-Za-z0-9}*")
 String name;
Run Code Online (Sandbox Code Playgroud)

但错误是Invalid regular expression. 我尝试过[A-Za-z0-9].但这也不起作用.虽然没有错误.它将任何有效输入显示为失败.

java regex annotations bean-validation

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

Java中的条件评估过程

可以说我有以下条件:

if ( myList == null || myList.isEmpty() || xomeX == someY )
Run Code Online (Sandbox Code Playgroud)

评估这些条件的顺序是什么?左右,右到左或每次随机?

如果第一个通过,那么其他人会被忽略?

java compiler-construction evaluation jvm if-statement

14
推荐指数
3
解决办法
2万
查看次数

JBoss与Tomcat的Spring MVC - 优点/实践

好的.这又是一个行业惯例问题.

  • Tomcat = Web容器
  • JBoss,WebLogic等=内置Web容器的应用服务器(对于JBoss,其分叉的Tomcat)

Spring不需要像JBoss这样的Application Server.如果我们使用JMS等企业服务,我们可以使用RabbitMQ,ApacheMQ等独立系统.

  1. 问题是为什么人们仍然将JBoss和其他Application Serves用于纯粹的基于弹簧的应用程序?
  2. 通过使用应用程序服务器,Spring可以使用哪些优势?像对象池?Application Server提供哪些特定优势?这些是如何配置的?
  3. 如果不是春天,为什么其他目的应用程序服务器用于Spring/Hibernate等堆栈?(用例)

java jboss spring application-server web-container

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

Android登录设计和开发 - 方法和最佳实践

好的.我开始为我们的企业Web应用程序开发Android应用程序.刚刚开始登录屏幕活动设计.

这个应用程序完全由RESTFul API驱动.

我想了解如何在应用程序中开发登录/注销功能.据我所知,应用程序世界中没有Session概念.此外,对于API,我们需要在每个请求(Basic Auth)中发送用户名和密码.显然,我们需要将登录凭据保留在本地存储中的某个位置,以便与每个请求一起发送.

以下是我从基本的Android知识中理解的内容.

当用户输入登录信息并按下按钮时,我们将启动对API的HTTP调用.如果登录凭据有效,那么我们必须在本地存储凭据.选项是

  1. SQLite的
  2. 共享首选项.(我从未使用它.但我假设,我们可以使用它)
  3. 捆绑(不确定这是否是一个选项)

还有其他选择吗?

我想确保遵循最佳实践,同时不要牺牲性能和架构方面的观点.

对于注销,我想我只需要清除本地存储的凭据并显示登录活动.

有没有不同的更好的方法?

android login

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

将Hibernate用于现有数据库

我们有一个已经运行了很长时间的应用程序.现在我们将它迁移到Spring并可能使用Hibernate或任何其他ORM.

但我们赶上了一个问题.对于现有的数据库使用Hibernate并在Schema周围建模对象是不是不推荐/坏主意?

大多数人提倡不使用Hibernate而不是像iBatis那样使用其他一些ORM.但在我们公司,所有人都是Hibernate的支持者.

有经验吗?

java spring hibernate

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

Git - 每个分支的单独文件夹.设置它

我需要在3个单独的文件夹中保留3个分支.(我知道这不是做事的一种方式.但我需要这样做是有原因的).

让我们说回购名称是my_proj_repo.git 我创建了一个prodv1在我的本地系统中调用的文件夹:

git clone url:/my_proj_repo.git
Run Code Online (Sandbox Code Playgroud)

现在我进入prodv1文件夹并从服务器复制文件,然后:

git commit -am "initial import"
git push origin master
Run Code Online (Sandbox Code Playgroud)

这推动了文件掌握.现在我在我的本地系统中创建了另外两个文件夹

stagingv1
devv1
Run Code Online (Sandbox Code Playgroud)

我想用名称创建两个本地和远程分支:

staging // this local branch points (push/pull) to staging remote branch
dev     // this local branch points ((push/pull) to dev remote branch
Run Code Online (Sandbox Code Playgroud)

而这两个分支应该在相应的文件夹中:

staging ==> stagingv1 folder
dev     ==> devv1 folder
Run Code Online (Sandbox Code Playgroud)

我尝试了一些东西,我想我搞砸了.有人能指出我的命令/步骤来获得我想要的所有这些设置吗?

我做的是,进入stagingv1文件夹并做了一个git clone <repo>.但它默认为master.我不知道如何在staging这里初始化分支.

git directory branch

10
推荐指数
2
解决办法
2万
查看次数

使用Message Queue与使用PHP的Plain Cron Jobs之间的区别

我们有一个基于PHP的大型Web应用程序.此应用程序允许安排推文和墙上帖子,并且有从服务器发出的预定电子邮件.

通过'预定',我的意思是这些是计划在特定时间运行的PHP脚本cron.大约有7个PHP文件可以完成上述工作.

我听说过消息队列.任何人都可以解释消息队列是否最适合这种情况?消息队列是否执行PHP脚本?或者我们需要完全不同地配置它吗?有什么优点/缺点?

php cron message-queue crontab

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

maven - 两个不同的根poms

我是Maven的新手.我获得了一个新项目,其结构如下.

Data_Res
  |
  ---res-search
  |     |
  |     -----res-hast
  |     |       |
  |     |       ------src/main....
  |     |       |
  |     |       ------pom.xml
  |     -----res-haster
  |     |       |
  |     |       ------src/main....
  |     |       |
  |     |       ------pom.xml
  |     |
  |     ----pom.xml
  | 
  |
  ---pom.xml
  ---sonar_pom.xml
Run Code Online (Sandbox Code Playgroud)

我没有看到root pom.xml中的modules部分.但我确实在sonar_pom.xml中看到了modules部分.它不包括所有子节点.文件夹/项目可以有两个pom吗?或者我们可以单独执行它们吗?

  1. 我该如何解释这一个?子模块或个别项目?是否有任何指标可以找到?
  2. 我被告知要mvn clean install在root pom 上运行.我做到了 我被要求验证是否提供了其中一个子文件夹的所有依赖项.怎么检查这些?我可以在我的主目录中的.m2文件夹下看到一些文件.
  3. 我该如何构建/打包?我将要处理其中一个子文件夹.如果它是一个单独的项目或子模块,那就不是了.在这种情况下,我可以直接转到该文件夹​​并mvn package / build从该文件夹运行(pom.xml存在)?

java directory packaging build maven

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

RestEasy - Jax-rs - 在响应正文中发送自定义对象

如何在响应中发送自定义对象.我只想要从我的对象打印的值.

可以说我有一个类型的对象Person.我试图像这样发送REST响应体.

  ResponseBuilder response = Response.ok().entity(personObj);
  return response.build();
Run Code Online (Sandbox Code Playgroud)

但我得到500错误.也试过这个:

  ResponseBuilder response = Response.status(Status.OK).entity(personObj);
  return response.build();
Run Code Online (Sandbox Code Playgroud)

同样的错误.

尝试将内容类型设置为text/xml.没用 我在这里错过了什么?我试过谷歌搜索.但那里没有很多例子,尤其是自定义对象;

如果我只是将一个字符串传递给entity()方法,它返回正常.

java rest response jax-rs resteasy

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

JPA-批量/批量更新-更好的方法是什么?

我发现JPA不支持以下更新:

Update Person p set p.name = :name_1 where p.id = :id_1,
                    p.name = :name_2 where p.id = :id_2,
                    p.name = :name_3 where p.id = :id_3
                    .... 
                 // It could go on, depending on the size of the input. Could be in 100s
Run Code Online (Sandbox Code Playgroud)

所以我有两个选择:

选项1:

Query q = em.createQuery("Update Person p set p.name = :name where p.id = :id");

For ( int x=0; PersonsList.length; x++ ) {
      // add name and id parameters
      em.executeUpdate(); 
}
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 这是批量更新所需的全部吗?我还有什么需要补充的吗?我设置hibernate.jdbc.batch_size", "20"
  2. 默认情况下是否在此处启用了乐观锁?(虽然我的实体中没有@Version) …

java hibernate hql where jpql

6
推荐指数
3
解决办法
2万
查看次数