小编Can*_*ell的帖子

如何使用ArgumentCaptor进行存根?

在Mockito 文档javadocs中

建议使用ArgumentCaptor进行验证,但不使用stubbing.

但我不明白ArgumentCaptor如何用于存根.有人可以解释上面的陈述,并说明ArgumentCaptor如何用于存根或提供一个链接,说明如何做到这一点?

java junit unit-testing mockito

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

org.hibernate.HibernateException:找不到当前线程的Session

我在Spring3和Hibernte4上遇到了上述异常

以下是我的bean xml文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:context="http://www.springframework.org/schema/context"
   xmlns:tx="http://www.springframework.org/schema/tx"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="
    http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-3.0.xsd
    http://www.springframework.org/schema/tx
    http://www.springframework.org/schema/tx/spring-tx-3.1.xsd">

   <context:annotation-config/>


   <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
      <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
      <property name="url" value="jdbc:mysql://localhost:3306/GHS"/>
      <property name="username" value="root"/>
      <property name="password" value="newpwd"/>
  </bean>

  <bean id="sessionFactory"
      class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource"/>
    <property name="hibernateProperties">
        <props>
            <prop key="dialect">org.hibernate.dialect.MySQL5Dialect</prop>
        </props>
    </property>
    <property name="packagesToScan">
        <list>
            <value>com.example.ghs.model.timetable</value>
        </list>
    </property>
  </bean>

   <bean id="baseDAO"
      class="com.example.ghs.dao.BaseDAOImpl"/>
</beans>
Run Code Online (Sandbox Code Playgroud)

我的BaseDAO类看起来像这样

public class BaseDAOImpl implements BaseDAO{
private SessionFactory sessionFactory;

 @Autowired
 public BaseDAOImpl(SessionFactory sessionFactory){
     this.sessionFactory = sessionFactory;
 }

 @Override
 public Session getCurrentSession(){ …
Run Code Online (Sandbox Code Playgroud)

spring hibernate spring-3 hibernate-4.x

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

如何获取public_html文件夹的绝对路径?

$_SERVER['DOCUMENT_ROOT']
Run Code Online (Sandbox Code Playgroud)

回报

/usr/local/apache/htdocs/
Run Code Online (Sandbox Code Playgroud)

有没有办法得到

/home/user/public_html/
Run Code Online (Sandbox Code Playgroud)

问题是我必须编写一个脚本,该脚本可以位于public_html文件夹或public_html文件夹的子文件夹中.该脚本应将上传的文件保存到public_html目录(例如图像)中的文件夹中.换句话说,让我们说我的文件是test.php,它的路径是

/home/user/public_html/test/test.php. 
Run Code Online (Sandbox Code Playgroud)

并且有一个文件夹

/home/user/public_html/images 
Run Code Online (Sandbox Code Playgroud)

必须保存通过test.php上传的文件.我不知道test.php文件将在哪里运行.例如,它可以在路径上

/home/user/public_html/test/another-dir/test.php
Run Code Online (Sandbox Code Playgroud)

如何在不知道test.php文件的位置的情况下获取images文件夹的路径?

php public-html

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

IntelliJ IDEA + Maven iml文件中依赖项的需求是什么?

在Maven中,项目的依赖项在pom.xml文件中指定.在IntelliJ IDEA中,即使对于Maven项目,相同的信息也存储在iml文件中.在两个地方有相同信息的需要是什么?

java intellij-idea maven

24
推荐指数
1
解决办法
8418
查看次数

什么是数据库会话?

我理解对数据库事务概念的一般理解.我们访问事务中的数据库以确保ACID属性.

在Hibernate中有一个称为会话的概念.会话有什么用?数据库访问何时应该在两个会话中而不是在同一个会话中发生?

为了解释更多,我已经看到了hibernate代码

  • 从会话工厂获取会话
  • 打开一个会话
  • 开始交易
  • 提交交易
  • 关闭会议

我需要知道的是会话在这里的重要性是什么?为什么不像交易工厂那样,开始交易和提交交易?

java session hibernate transactions

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

为什么要使用耳朵而不是战争?

我读这个这个被有些涉及到我的问题.但我发现这篇文章说EJB可以打包在war文件中.如果是这种情况,为什么需要耳朵?一个例子的解释将是非常高度的.

ear packaging war java-ee

16
推荐指数
2
解决办法
6721
查看次数

调用Method.invoke时获取java.lang.NullPointerException

我正在按照Java annotaitons这个教程进行操作,并实现了Test annotation,如图所示.但是在运行代码时,我得到以下输出.

java.lang.NullPointerException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:616)
    at TestAnnotationParser.parse(Demo.java:24)
    at Demo.main(Demo.java:51)
Passed:0   Fail:1
Run Code Online (Sandbox Code Playgroud)

以下是我的代码.有人可以指出我的错误吗?

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.lang.reflect.Method;

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@interface Test {
    Class expected();
}

class TestAnnotationParser {
    public void parse(Class<?> clazz) throws Exception {
        Method[] methods = clazz.getMethods();
        int pass = 0;
        int fail = 0;

        for (Method method : methods) {
            if (method.isAnnotationPresent(Test.class)) {
                Test test = method.getAnnotation(Test.class);
                Class expected = …
Run Code Online (Sandbox Code Playgroud)

java reflection annotations nullpointerexception

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

构造函数注入 - 我们也注入工厂吗?

在听完清洁代码会谈之后,我开始明白我们应该使用工厂来组合对象.因此,例如,如果a House有a Door和a Door有a DoorKnob,则在HouseFactory我们创建new DoorKnob并将其传递给构造函数Door,然后将该新Door对象传递给构造函数House.

但是使用的类House (比如类名ABC)呢?这将取决于HouseFactory,对吗?那么我们传递HouseFactory构造函数ABC吗?我们不是必须以这种方式在构造函数中传递大量工厂吗?

dependency-injection factory-pattern constructor-injection

9
推荐指数
1
解决办法
1251
查看次数

Java BitSet,允许简单地连接BitSet

我需要一个BitSet,它允许多个BitSet的轻松连接创建一个新的BitSet.该默认实现不具备这样的方法.

在某些外部库中是否有任何实现,任何人都知道哪个允许轻松连接?

例如,假设我有一个bitarray 11111和另一个位数组010101.我想要附加功能.因此连接后会产生11111010101.

java concat bitset

9
推荐指数
1
解决办法
3642
查看次数

为什么以下使用Cyclic Generics的代码无法编译?

以下是我的代码

class A<B2 extends B, A2 extends A<B2, A2>> {
    C<B2, A2> c;

    void test() {
        c.acceptParameterOfTypeA(this);
    }

}

class B {

}

class C<B2 extends B, A2 extends A<B2, A2>> {
    void acceptParameterOfTypeA(A2 a) {

    }
}
Run Code Online (Sandbox Code Playgroud)

错误发生在c.acceptParameterOfTypeA(this);.

错误是

类型C中的方法acceptParameterOfTypeA(A2)不适用于参数(A)

从我看到的,该方法acceptParameterOfTypeA需要一个类型A的参数,并this在给出错误的行是类型A.

我究竟做错了什么?如何解决这个问题?

如果它很重要,我正在使用Java8

java generics java-8

9
推荐指数
1
解决办法
241
查看次数