我想快速为网站创建新功能的原型.我正在寻找一种方法:
我想象一些允许我说"渲染这个网站的东西,但是在这个带有这样的网页的网页上,标记我正在用贴图在页面上绘图,如果有人点击它,就把它们移到这里".
或者可能,"这是一个网站的屏幕截图.如果有人点击此框,请向他们显示其他截图".
你们用什么来构建网站UI功能的原型?
我创建了一个包含其他bean列表的spring bean,如下所示:
<bean name="InventoryManager" class="InvManager">
<property name="slots">
<bean class="HeadSlot" />
<bean class="ShoulderSlot" />
<!-- ... -->
</property>
</bean>
Run Code Online (Sandbox Code Playgroud)
但问题是,在其他地方,我@Autowired在其他类中使用了一个注释,以获取实现某些内部bean实现的某个接口的所有bean的列表,如下所示:
@Autowired
public void registerInventoryHandlers( List<InvSlot> slots ) {
//... do some setup stuff with beans that implement the InvSlot interface.
}
Run Code Online (Sandbox Code Playgroud)
这里的问题是,显然XML中定义的"内部bean"不是@Autowired列表的一部分.但是,给出所有这些插槽bean名称,然后从XML引用它们似乎是不必要和丑陋的.
有没有办法在另一个bean中定义bean,但不是一个"内部"bean?或者有更好的方法来处理这种设计?
我正在尝试为Spring/Hibernate应用程序找到一个好的设计.在创建这样的应用程序时,似乎有一些重大决策.
第一个主要决定似乎是放置会话/事务边界的位置.看起来我有三个主要选择:作为控制器甚至调用之前的过滤器,紧接在服务调用级别的控制器之下,并且在存储库调用中的业务级别之下填充.
在我看来,正确的呼叫是中间路径,但我不确定.我不希望我的事务打开太长时间,但同时,我不想经常担心业务逻辑中的分离对象和延迟加载.不过,还有一些缺点.例如,它使业务逻辑很难在没有暂停事务几秒钟的情况下进行远程调用.我想知道是否有更好的方法?
Spring 的 AOP 功能非常棒,它可以轻松地向控制器添加很酷且有用的注释。例如,我编写了一个 @Authenticated 注释,它允许经过身份验证的用户通过控制器方法或重定向到登录页面。好玩的东西。
但是,Spring 的控制器可以返回各种不同的类型。它们可以返回字符串、ModelAndView 对象,甚至是 void。我的代码库中有使用所有三种类型的方法。但是,我想更改我的 @Authenticated 注释以呈现和返回特定页面,我希望通过返回 ModelAndView 对象来实现。是通过要求我的所有控制器方法返回 ModelAndView 来实现这一点的唯一方法吗?
我想要的控制器示例:
@Controller
public class MyController() {
@Authenticated
@RequestMapping("/myscore")
public String myScorePage(ModelMap model) {
return "myScorePage";
}
@Authenticated
@RequestMapping("/anotherPage")
public ModelAndView something() {
return new ModelAndView("anotherPage",someModelStuff());
}
}
@Aspect
public class NotVeryUsefulAspect {
@Around("@annotation(Authenticate)")
public Object doBasicProfiling(ProceedingJoinPoint pjp) throws Throwable {
if( isAuthenticated() ) {
return pjp.proceed();
} else {
return /* Oh no what goes here, I want to render a FAILURE page without …Run Code Online (Sandbox Code Playgroud) 我有一个工作的项目的git存储库.每次我们发布我们的软件版本时,我们都会为它创建一个发布分支.有一个release1.0分支,一个1.1版本分支等.当我们需要为该版本创建一个修补程序时,我们将修复程序提交到该发行版分支,然后我们将该修复程序合并到我们的主开发分支中.
有时我们忘记了我们急于修复生产错误的最后一步,然后新版本没有我们之前问题的修补程序.
是否有一个简单的git命令检查我们所有的发布分支是否已合并为master,如果没有,哪些分支提交?
我是 Google Cloud Platform 的新手。我正在尝试逐行读取 Google Cloud Storage(通过服务帐户密钥访问的非公共存储桶)中的 CSV 文件,大约 1GB。
我找不到任何选项来逐行读取 Google Cloud Storage (GCS) 中存在的文件。我只看到块大小/字节大小选项的读取。由于我正在尝试读取 CSV,因此我不想使用按块大小读取,因为它可能会在读取时拆分记录。
迄今为止 尝试过的解决方案:尝试将 GCS 中存在的 CSV 文件中的内容复制到临时本地文件并使用以下代码读取临时文件。下面的代码按预期工作,但我不想将大文件复制到我的本地实例。相反,我想从 GCS 逐行读取。
StorageOptions options =
StorageOptions.newBuilder().setProjectId(GCP_PROJECT_ID)
.setCredentials(gcsConfig.getCredentials()).build();
Storage storage = options.getService();
Blob blob = storage.get(BUCKET_NAME, FILE_NAME);
ReadChannel readChannel = blob.reader();
FileOutputStream fileOuputStream = new FileOutputStream(TEMP_FILE_NAME);
fileOuputStream.getChannel().transferFrom(readChannel, 0, Long.MAX_VALUE);
fileOuputStream.close();
Run Code Online (Sandbox Code Playgroud)
请建议方法。
我有一个使用JSP作为其视图技术的网站(以及下面的Spring MVC).不幸的是,JSP对于任何不涉及HTTP会话的事情都是一种痛苦.我希望能够偶尔向我的用户发送一些电子邮件,我想使用类似JSP的东西来呈现电子邮件的内容.我所知道的技术包括:
在Java系统中是否有一种首选的模板技术?人们一般会推荐Velocity吗?是否有一种使用JSP进行更通用任务的好方法?
我有两张桌子,'玩家'和'物品'.玩家有一个项目列表.我想使用分页来检索玩家及其所有物品.我想基于玩家分页,而不考虑有多少项目.
所以我这样做:
Criteria c = session.createCriteria(Players.class).setFetchMode("items", FetchMode.JOIN);
c.addOrder(Order.asc("playerID"));
c.setFirstResult(0);
c.setMaxResults(25);
List<Player> players = c.list();
Run Code Online (Sandbox Code Playgroud)
这会给我前25名球员,还是会给我前25项(按球员分组)?我想知道这种行为是否像JPA查询一样未定义,或者是否有保证答案.
无论如何,什么是Criteria查询会给我前25名球员或前25名球员项目组合(按球员ID排序,然后是项目ID)?
我正在为我正在研究的Spring/Hibernate应用程序编写一些集成测试,我想尽可能接近真实条件进行测试,包括使用Hibernate的二级缓存和提交事务.
我想知道是否有一种有效的方法让Hibernate从数据库和缓存中删除所有内容.我能想到的最好的就是为每种类型的对象使用HQL"从XImpl删除"行,但我有几十个域对象,感觉应该有更好的方法.
我即将开始一个新的Spring MVC项目,我正在研究视图的各种选项.我从来都不是JSP的粉丝,过去我遇到过与JSP相关的性能问题,所以我正在研究其他选项.我希望在某个地方有人对各种选项进行普查(也许它必须是我),并宣布哪些是快速的,或者至少有哪些选项.以下是我想到的选择,从明显到奇怪的排序:
列表的任何建议,个人偏好或其他好的选择?
我想在Cassandra中存储大约10亿条数据.数据项按时间排序,我要做的一个主要查询是按顺序查找两个时间范围之间的项目.如果可能的话,我真的更喜欢使用RandomParititioner.在Cassandra有办法做到这一点吗?
起初,因为我来自SQL,我假设我应该将每个事件创建为一行,但后来我发现我正在考虑错误的方式而且我应该使用列.Cassandra中的列似乎是有序的,但我对它们的有序性感到困惑.如果我使用时间作为列名,有没有办法让我按顺序将所有列从一次到另一次?
我看到的另一件事是二级索引的0.7特性,但是我找不到文档是否可以使用这些来按顺序查看一系列内容.
我想要的只是这个SQL的Cassandra等价物:"选择*来自Stuff,其中日期> X和日期<Y按日期排序asc".我怎样才能做到这一点?
我使用 gsutil 将文件从 Windows 计算机传输到 Google Cloud Storage。
我已经有 6 个多月没有使用它了,现在当我尝试它时,我得到:
失败:invalid_grant
通过研究,我怀疑访问令牌不再有效,因为它已经 6 个月没有使用了,我需要刷新令牌吗?
我似乎找不到如何获取和使用它。
谢谢
运行gsutil -DD config会产生以下输出:
C:\Python27>python c:/gsutil/gsutil -DD config
DEBUG:boto:path=/pub/gsutil.tar.gz
DEBUG:boto:auth_path=/pub/gsutil.tar.gz
DEBUG:boto:Method: HEAD
DEBUG:boto:Path: /pub/gsutil.tar.gz
DEBUG:boto:Data:
DEBUG:boto:Headers: {}
DEBUG:boto:Host: storage.googleapis.com
DEBUG:boto:Params: {}
DEBUG:boto:establishing HTTPS connection: host=storage.googleapis.com, kwargs={'timeout': 70}
DEBUG:boto:Token: None
DEBUG:oauth2_client:GetAccessToken: checking cache for key *******************************
DEBUG:oauth2_client:FileSystemTokenCache.GetToken: key=******************************* not present (cache_file= c:\users\admini~1\appdata\local\temp\2\oauth2_client-tokencache._.ea******************************)
DEBUG:oauth2_client:GetAccessToken: token from cache: None
DEBUG:oauth2_client:GetAccessToken: fetching fresh access token...
INFO:oauth2client.client:Refreshing access_token connect: (accounts.google.com, 443)
send: 'POST /o/oauth2/token HTTP/1.1\r\nHost: accounts.google.com\r\nContent-Length: 177\r\ncontent-type: …Run Code Online (Sandbox Code Playgroud) spring ×5
hibernate ×3
java ×3
cassandra ×1
git ×1
grails ×1
gsutil ×1
java-ee ×1
jsp ×1
nio ×1
nosql ×1
orm ×1
prototype ×1
spring-aop ×1
spring-mvc ×1
templating ×1
unit-testing ×1
velocity ×1