Java 8添加了一个新的java.time API来处理日期和时间(JSR 310).
我有日期和时间作为字符串(例如"2014-04-08 12:30").如何LocalDateTime从给定的字符串中获取实例?
在我完成LocalDateTime对象的使用之后:如何将LocalDateTime实例转换回具有与上面所示格式相同的字符串?
我有一个验证类:
public class User {
@Size(min=3, max=20, message="User name must be between 3 and 20 characters long")
@Pattern(regexp="^[a-zA-Z0-9]+$", message="User name must be alphanumeric with no spaces")
private String name;
@Size(min=6, max=20, message="Password must be between 6 and 20 characters long")
@Pattern(regexp="^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+)$", message="Password must contains at least one number")
private String password;
public User(String _name, String _password){
super();
name = _name;
password = _password;
}
public String getName(){
return name;
}
public String getPassword(){
return password;
}
public void setPassword(String newPassword){ …Run Code Online (Sandbox Code Playgroud) 我知道一个获取底层会话而另一个获取当前事务状态的引用; 但是,它们之间的区别是什么?每个用例的用例是什么?
我的要求是批量保存Service方法块中的一些记录.
我有一个使用Fragments 的标签应用程序,还有一个小问题.
MainActivity(扩展FragmentActivity- 没有为布局规范保存代码)在其布局中onCreate包含一个Fragment被调用的TabsFragment(扩展Fragment,实现OnTabChangeListener)(将标签本身放在a中FrameLayout),Fragment使用Transactions 切换子.
后者Fragments是具有实际内容的子实体,当用户转动设备,访问另一个应用程序,接听电话或执行其他操作时,我希望保存该状态.目前,子节点的状态Fragment未保存,但活动会记住Fragment正在显示哪个子节点.(因此,如果我将设备置于横向模式并在标签3处于活动状态时转动设备,则标签3将以纵向模式显示,重置,但显示.因此,某些状态正在保留,而我没有做任何事情).
因为我有多个布局(横向和纵向),所以android:configChanges="orientation"在清单中不是一个选项 - 我不想使用它,因为它是一个美化的绑带.
我使用的是V4支持库(修订版10)和精练的API后,我遇到了FragmentManager.saveFragmentInstanceState()和Fragment.setInitialSavedState(Fragment f).我已经为Fragment重写onPause()方法中的每个子项设置了saveFragmentInstanceState()TabsFragment.我不确定这是否有效,因为无论我把setInitialSavedState它放在哪里,它都给出了IllegalStateException- 但即使我刚刚初始化了一个新的子Fragment标签,也会发生这种情况.它还崩溃,当我把它变成onResume在TabsFragment.
代码段:
//... this is the 'showTab' method
if(getFragmentManager().findFragmentByTag(id) == null)
{
Fragment f = null;
if(BASIC_TAB.equals(id))
{
f = …Run Code Online (Sandbox Code Playgroud) 我有以下域对象:
class User {
String name
Transaction transaction
static constraints = {
transaction nullable: true
}
}
class Transaction {
boolean successful
User user
static belongsTo = User
}
Run Code Online (Sandbox Code Playgroud)
我想选择所有users没有成功交易的东西.这意味着我希望没有任何transaction(transaction == null)的用户和具有成功值false(transaction.successful == false)的事务的用户.我想使用Criteria API执行此操作(因为这可以与基于用户输入的其他条件结合使用).
我试过这个:
def c = User.createCriteria()
def results = c {
or {
isNull 'transaction'
transaction {
eq 'successful', false
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,这只给了我有交易的用户(成功的价值false).但我没有得到交易所在的用户null
以下代码显示了我如何创建一些示例数据:
def createUserAndTransaction(String name, Boolean successful = null) {
User u …Run Code Online (Sandbox Code Playgroud) 当只显示Spring MVC模型bean的一部分时,有没有办法只在模型中更新从浏览器返回的内容?
假设我们有一个User类(当然只有这个例子中的公共属性):
public class User {
public String firstName;
public String lastName;
public String email;
public Date subscriptionExpiration;
}
Run Code Online (Sandbox Code Playgroud)
现在,我将前三个属性显示为JSP中的输入字段,并希望相应地更新数据库中的对象.只应更新这3个参数,而不是第4个参数.实现这一目标的一种方法是
@RequestMapping("/user/{userId}", method=RequestMethod.POST)
public String saveChanges(@PathVariable userId, User user, Model model) {
User oldUser = User.loadFromDB(userId);
oldUser.firstName = user.firstName;
oldUser.lastName = user.lastName;
oldUser.email = user.email;
oldUser.saveToDB();
model.addAttribute("user", oldUser);
}
Run Code Online (Sandbox Code Playgroud)
但这意味着硬编码所有可能改变的属性,我不太喜欢.
有没有办法根据用户允许更改的内容确定要更新的字段?该机制应该比仅仅假设请求参数中的所有内容都可以更改更聪明,否则任何精明的用户都可以手动将其他字段注入请求中.
使用@Entity(dynamicUpdate = true)并不能解决我眼中的问题,因为我没有在请求中返回整个User对象,这样做会打开很多安全漏洞.
我在Spring中错过了一个不错的功能,还是有其他方法可以在概念上解决这个问题?任何提示都非常感谢!
每当我尝试使用Spring数据存储库查询Solr时,我都会遇到以下异常:
Exception in thread "main" java.lang.IllegalArgumentException: [Assertion failed] - this argument is required; it must not be null
at org.springframework.util.Assert.notNull(Assert.java:112)
at org.springframework.util.Assert.notNull(Assert.java:123)
at org.springframework.data.solr.core.convert.MappingSolrConverter$SolrPropertyValueProvider.readValue(MappingSolrConverter.java:317)
at org.springframework.data.solr.core.convert.MappingSolrConverter$SolrPropertyValueProvider.readCollection(MappingSolrConverter.java:423)
at org.springframework.data.solr.core.convert.MappingSolrConverter$SolrPropertyValueProvider.readValue(MappingSolrConverter.java:331)
at org.springframework.data.solr.core.convert.MappingSolrConverter$SolrPropertyValueProvider.readValue(MappingSolrConverter.java:308)
at org.springframework.data.solr.core.convert.MappingSolrConverter$SolrPropertyValueProvider.getPropertyValue(MappingSolrConverter.java:294)
at org.springframework.data.solr.core.convert.MappingSolrConverter.getValue(MappingSolrConverter.java:147)
at org.springframework.data.solr.core.convert.MappingSolrConverter$1.doWithPersistentProperty(MappingSolrConverter.java:134)
at org.springframework.data.solr.core.convert.MappingSolrConverter$1.doWithPersistentProperty(MappingSolrConverter.java:126)
at org.springframework.data.mapping.model.BasicPersistentEntity.doWithProperties(BasicPersistentEntity.java:257)
at org.springframework.data.solr.core.convert.MappingSolrConverter.read(MappingSolrConverter.java:126)
at org.springframework.data.solr.core.convert.MappingSolrConverter.read(MappingSolrConverter.java:113)
at org.springframework.data.solr.core.convert.MappingSolrConverter.read(MappingSolrConverter.java:88)
at org.springframework.data.solr.core.SolrTemplate.convertSolrDocumentListToBeans(SolrTemplate.java:404)
at org.springframework.data.solr.core.SolrTemplate.convertQueryResponseToBeans(SolrTemplate.java:396)
at org.springframework.data.solr.core.SolrTemplate.queryForPage(SolrTemplate.java:276)
at org.springframework.data.solr.repository.query.AbstractSolrQuery$AbstractQueryExecution.executeFind(AbstractSolrQuery.java:312)
at org.springframework.data.solr.repository.query.AbstractSolrQuery$CollectionExecution.execute(AbstractSolrQuery.java:335)
at org.springframework.data.solr.repository.query.AbstractSolrQuery.execute(AbstractSolrQuery.java:129)
at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:323)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:136)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
at $Proxy15.findByTitleStartingWith(Unknown Source)
at …Run Code Online (Sandbox Code Playgroud) 我在使用 JUnit 4 时有一个问题。有一件事让我很困惑。为什么下面没有main函数,但是可以执行并返回测试结果?它甚至不扩展一个类。好糊涂……代码如下:
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
@RunWith(Suite.class)
@SuiteClasses({ ATest.class,BTest.class })
public class AllTests {
}
Run Code Online (Sandbox Code Playgroud) 在如下标签中:
<a data-url="/new/request/showText/${requestInstance.id}"> view text</a>
Run Code Online (Sandbox Code Playgroud)
有没有办法不像我那样硬编码网址?
我尝试使用<g:link action="showText" id="${requestInstance.id}">但渲染到锚标记.
我正在做什么可能会找到,但我只是好奇,如果有更好的方法在grails中这样做?
在我的服务中,我创建了一个"根"对象,它与许多对象有关联,而这些对象又与更多对象有关联,依此类推.一旦根对象完全构建并准备好保存,我想调用save根对象并将所有关联的对象一直保存下来.现在我有一个称为递归的方法deepSave.有没有更好的办法?
我正在尝试创建一个BeanPostProcessor用于将一些值注册到 Map 的。
的BeanPostProcessor,如果我通过创建XML定义bean实例工作正常,但如果我的bean定义更改为@Configuration它不工作。
后处理器
public class InstantiationTracingBeanPostProcessor implements BeanPostProcessor {
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
return bean;
}
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
System.out.println("Bean '" + beanName );
return bean;
}
}
Run Code Online (Sandbox Code Playgroud)
Bean 配置
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
@org.springframework.context.annotation.Configuration
public class Configuration {
@Bean
public @Qualifier("InstantiationTracingBeanPostProcessor")
InstantiationTracingBeanPostProcessor activitiConfigurationBeanPostProcessor() {
return new InstantiationTracingBeanPostProcessor();
}
}
Run Code Online (Sandbox Code Playgroud)
组件扫描配置
<context:component-scan base-package="xyz.config"/>
<context:annotation-config/>
Run Code Online (Sandbox Code Playgroud)
如果我使用上述配置,应用程序就会挂起。但是,如果我使用下面给出的基于 xml 的配置,它就可以正常工作。
<bean class="xyz.bean.InstantiationTracingBeanPostProcessor"/>
Run Code Online (Sandbox Code Playgroud)
我在这里做错了什么?
我正在使用 webgl 开发一个小游戏。在这个游戏中,我有某种森林,由许多(100 多个)树木对象组成。因为我只有几个不同的树模型,所以在显示它们之前我会以不同的方式旋转和缩放这些模型。
目前我遍历所有树来显示它们:
for (var tree in trees) {
tree.display();
}
Run Code Online (Sandbox Code Playgroud)
而display()树的方法如下所示:
display : function() { // tree
this.treeModel.setRotation(this.rotation);
this.treeModel.setScale(this.scale);
this.treeModel.setPosition(this.position);
this.treeModel.display();
}
Run Code Online (Sandbox Code Playgroud)
许多树对象共享同一个treeModel对象,因此每次显示模型之前我都必须设置模型的旋转/缩放/位置。每棵树的旋转/缩放/位置值都不同。
显示方法treeModel完成所有 gl 的工作:
display : function() { // treeModel
// bind texture
// set uniforms for projection/modelview matrix based on rotation/scale/position
// bind buffers
// drawArrays
}
Run Code Online (Sandbox Code Playgroud)
所有树模型都使用相同的着色器,但可以使用不同的纹理。
因为单个树模型仅由几个三角形组成,所以我想将所有树组合到一个 VBO 中,并通过一次drawArrays()调用显示整个森林。
一些使谈论数字更容易的假设:
我有的问题:
目前我有 5 个字节50 * 3 …
grails ×4
java ×4
grails-orm ×3
spring ×3
hibernate ×2
3d ×1
android ×1
datetime ×1
function ×1
gsp ×1
java-8 ×1
java-time ×1
junit ×1
opengl-es ×1
reflection ×1
session ×1
solr ×1
spring-data ×1
spring-ioc ×1
spring-mvc ×1
timestamp ×1
transactions ×1
validation ×1
webgl ×1