我想把自己注入ApplicationContext一个bean.
就像是
public void setApplicationContext(ApplicationContect context) {
this.context = context;
}
Run Code Online (Sandbox Code Playgroud)
那可能在春天吗?
我有一个使用Maven构建的Java应用程序,它有很多依赖项.在执行我的测试用例时,它们有时会很好地通过,有时它们会因为一些不兼容的类组合而失败.所以似乎在类路径中必须有两次随机获取的类.一个很好,另一个没有.
我在Puppet中做了我的第一步并遇到了问题.我已经在Linux服务器上安装了PHP,我想对php.ini文件稍作修改.我不想ini用存储库中的一个覆盖整个文件,只需更改/创建一个简单的配置值.
我想确保,属性upload_max_filesize中的属性php.ini值为10M.
我怎样才能做到这一点?
我在Java中编写了一些捕食者 - 猎物模拟.即使规则非常复杂并且最终处于混乱系统中,所使用的技术也很简单:
所以我认为在用相同的参数初始化系统时它应该输出相同的结果,但它没有,我想知道为什么.
关于这一点的一些想法:我的应用程序使用Randoms,但是对于该测试,我使用给定值初始化它们,因此在我的理解中,它们应该为每次运行创建相同顺序的相同输出.
我正在迭代Sets,我知道Set没有定义迭代的顺序a .但我没有看到任何理由为什么以Set相同的顺序填充相同的值应该在几次运行中表现不同.可以?
我正在使用很多floats.1 + 1 = 1.9999999999725的数据类型总是让我怀疑,但即使他们的行为对我来说很奇怪,也应该总是一样奇怪.不是吗?
垃圾收集不是确定性的,但只要我不依赖于析构函数,我就应该是安全的.
如上所述,根据实际使用时间,没有并发性和数据类型.
我不能在一个简单的例子中重现这种行为.但是通过我的代码,我看不到任何可能无法预测的事情.那么我上面的任何假设都是错误的吗?我有什么想法可以错过吗?
这是验证我的假设的测试:
public static void main(String[] args) {
Random r = new Random(1);
Set<Float> s = new HashSet<Float>();
for (int i = 0; i < 1000000; i++) {
s.add(r.nextFloat());
}
float ret = 1;
int cnt = 0;
for (Float f : s) {
float multiply = 0.3f;
if (cnt++ % …Run Code Online (Sandbox Code Playgroud) 我想在spring-mvc应用程序中的自定义taglibs中使用spring-beans.原因TagLib-Instances不是由spring实例化的,我不能使用dependnecy-injection.
我的下一个想法是通过拦截器将spring-context添加到请求中,并从tag-class中的请求中获取它.
有没有更好的方法在taglibs中使用spring?春天有什么东西可以随时使用吗?如果spring-mvc中还没有customtag-support,是否有办法用依赖项填充现有对象?
public class MyTag extends TagSupport {
@Autowired
private MyObject object;
public void setMyObject(MyObject myObject) {
this.myObject = myObject;
}
public int doEndTag() {
ApplicationContext context = request.getAttribute("context");
context.populate(this);
return object.doStuff();
}
}
Run Code Online (Sandbox Code Playgroud) 在我之前有很多人在stackoverflow上我想为我的mongodb应用程序做junit-tests.为此,我让一个实例运行,所以我的测试可以连接.但我想确保数据库在开始测试时处于空状态.
因为我正在使用spring-mongodb,spring-test和所有有趣的弹簧 - 我希望找到一个配置为我做这个,直到现在成功.
任何人都可以给我一个如何以干净的方式实现这一点的提示.我的想法是一个InitializingBean,它为我做了这个.但我对这个解决方案并不满意.有什么建议?
我想在单元测试中测试dao-layer与我的服务层的集成.所以我需要在我的数据库(hsql)中设置一些数据.对于这个设置,我需要在我的测试用例开始时自己的事务,以确保在启动我的测试用例之前我的所有设置都真正提交到数据库.
所以这就是我想要实现的目标:
// NotTranactional
public void doTest {
// transaction begins
setup database
// commit transaction
service.doStuff() // doStuff is annotated @Transactional(propagation=Propagation.REQUIRED)
}
Run Code Online (Sandbox Code Playgroud)
这是我的工作代码:
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"
p:driverClassName="org.hsqldb.jdbcDriver"
p:url="jdbc:hsqldb:mem:posmail" p:username="sa"
p:password="" />
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="annotatedClasses">
<list>
<value>de.diandan.asynch.modell.receipt.Position</value>
<value>de.diandan.asynch.modell.receipt.Receipt</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.connection.useUnicode">true</prop>
<prop key="hibernate.connection.characterEncoding">UTF-8</prop>
<prop key="hibernate.connection.charSet">UTF-8</prop>
<prop key="hibernate.dialect">org.hibernate.dialect.HSQLDialect</prop>
<prop key="hibernate.show_sql">false</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<!-- Enable Hibernate's automatic session context management
<prop key="current_session_context_class">thread</prop> -->
<!-- Disable the second-level cache -->
<prop key="cache.provider_class">org.hibernate.cache.NoCacheProvider</prop> …Run Code Online (Sandbox Code Playgroud) 有没有办法获得泛型方法的返回类型 - 返回类型?
public interface MyGeneric<T> {
T doSomething();
}
public interface MyElement extends MyGeneric<Element> {
}
public class Main {
public static final void main(String[] args) {
System.out.println(MyElement.class.getMethod("doSomething", new Class<?>[0]).magic()); // => Element
}
}
Run Code Online (Sandbox Code Playgroud)
使用Method.getReturnType()我得到java.lang.Object没有.方法"魔法"是否存在?
我有一些Javascript代码执行一些异步的东西与一些同步后处理,然后再次异步的东西(XHR - >解析XHR - >新的XHR基于第一个).我没有完成错误处理:
/* API */
function getFile(name) {
return $.ajax({
url: name + ".json"
}).then(function(data) {
return data.id
}, handleError)
}
function handleError(errorObj) {
if (errorObj.status) {
return errorObj.status
} else {
return errorObj
}
}
function myApiCall() {
return getFile(1)
.then(getFile, handleError)
.then(getFile, handleError)
.then(getFile, handleError)
.then(getFile, handleError);
}
/* caller */
function failFunction(status) {
console.log("fail: ")
console.log(status)
}
myApiCall().then(function(id) {
console.log(id)
}, failFunction)
Run Code Online (Sandbox Code Playgroud)
1.json 看起来像这样
{
"id": "2"
}
Run Code Online (Sandbox Code Playgroud)
只是引用下一个文件,其他文件是等效的.
直到这里一切都很好(即使我不确定这是否是做错误处理的最佳方式).如果存在所有文件,则调用调用者的成功函数,否则调用错误函数.
但是当我的同步代码中出现一些错误时,everthing会中断
function getFile(name) { …Run Code Online (Sandbox Code Playgroud) 在我们的环境中,我们使用JUnit 4 TestListener将测试结果报告给远程服务器.
什么是JUnit 5方式呢?
大多数java独立应用程序在部署到生产环境后最终都会出现在这样的文件夹中.
myapp
|->lib (here lay all dependencies)
|->config (here lay all the config-files)
|->myapp.bat
|->myapp.sh
Run Code Online (Sandbox Code Playgroud)
我想知道maven中是否有任何内容可以为我构建并将其放在tar.gz中.
Java:如何构建基于Maven的项目的独立发行版?别无选择.我不想让maven打开我需要的所有罐子.
给定班级 org.popper.example.pages.Login
@Page(name="Login")
public interface Login {
}
Run Code Online (Sandbox Code Playgroud)
导出到c:\pos\example.jar以下servlet
public class PopperServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public static void main(String[] args) throws MalformedURLException, ClassNotFoundException {
URLClassLoader ucl = new URLClassLoader(new URL[] {new File("c:/pos/example.jar").toURI().toURL()});
System.out.println(Arrays.asList(ucl.loadClass("org.popper.example.pages.Login").getAnnotations()));
}
public PopperServlet() throws MalformedURLException, ClassNotFoundException {
URLClassLoader ucl = new URLClassLoader(new URL[] {new File("c:/pos/example.jar").toURI().toURL()});
System.out.println(Arrays.asList(ucl.loadClass("org.popper.example.pages.Login").getAnnotations()));
}
}
Run Code Online (Sandbox Code Playgroud)
以main身份运行代码可显示预期结果
[@org.popper.fw.annotations.Page(name=Login)]
Run Code Online (Sandbox Code Playgroud)
在Tomcat中将代码作为servlet运行无法找到注释
[]
Run Code Online (Sandbox Code Playgroud)
谁能告诉我为什么?
我正在尝试通过webbrowser(FF 42.0,PhantomJS 1.9.8)和Dropbox v2 API将数据上传到Dropbox。我的功能看起来像这样
function(path, data, callback) {
$.ajax({
url: 'https://content.dropboxapi.com/2/files/upload',
type: 'post',
contentType: 'application/octet-stream',
beforeSend: function(jqXHR) {
jqXHR.setRequestHeader("Content-Type","application/octet-stream");
},
data: data,
headers: {
"Authorization": "Bearer " + token,
"Dropbox-API-Arg": '{"path": "' + path + ',"mode": "add","autorename": true,"mute": false}',
"Content-Type": "application/octet-stream"
},
success: function (data) {
callback(data);
}
});
}
Run Code Online (Sandbox Code Playgroud)
甚至我在所有可以想到的属性上都设置了Content-Type时application/octet-stream,出现以下错误
Error in call to API function "files/upload": Bad HTTP "Content-Type" header: "application/octet-stream
; charset=UTF-8". Expecting one of "application/octet-stream", "text/plain; charset=dropbox-cors-hack"
Run Code Online (Sandbox Code Playgroud)
看一下Firebug中的请求,我发现Content-Type确实设置为application/octet-stream; charset=UTF-8。当尝试text/plain; charset=dropbox-cors-hack …
java ×9
spring ×3
javascript ×2
maven ×2
ajax ×1
annotations ×1
augeas ×1
build ×1
classloader ×1
dropbox-api ×1
hibernate ×1
ini ×1
jquery ×1
junit ×1
junit5 ×1
mongodb ×1
promise ×1
puppet ×1
reflection ×1
spring-mvc ×1
taglib ×1
tomcat ×1