小编Oli*_*POP的帖子

Java EE 6 @Inject懒惰?

我正在做一些重构和审查我们正在开发的应用程序.在这样做时我发现注入了更多的豆子,我认为以懒惰方式装载它们会更适合它们的目的.我使用的是Java EE 6,并且倾向于使用比EJB注入更多的CDI.

所以问题是是否有可能懒得注入豆子,如果是这样,你怎么能这样做?

java dependency-injection inject cdi java-ee-6

5
推荐指数
1
解决办法
3578
查看次数

--parameter和-parameter有什么区别?

我现在使用git一段时间了,但大多数时候我更喜欢与Intelij IDEA的集成.现在,为了扩展我对系统的了解和理解,我决定更多地使用命令行.我观察到的是有两种类型的参数:

--parameter and -parameter
Run Code Online (Sandbox Code Playgroud)

例如:

 git commit --amend -m "New commit message"
Run Code Online (Sandbox Code Playgroud)

我在一些linux工具上观察到了相同的方法.

git bash command-line-arguments

5
推荐指数
1
解决办法
58
查看次数

如何使用JavaMelody记录JPA/SQL查询?

我找到了以下手册https://code.google.com/p/javamelody/wiki/UserGuideAdvanced#JPA_monitoring

它包含一些有关我应该进行的更改的信息persistence.xml,以便让JavaMelody收集JPA/SQL统计信息.

但是,我不太清楚,是否应该providerJavaMelody-provider 替换现有的,还是应该将它放到一个单独的持久性单元中?

我尝试了前一个选项,但它打破了应用程序(构建失败,出现错误,例如'无法将某些代理强制转换为EntityManagerFactory').

java jpa persistence.xml java-melody

5
推荐指数
0
解决办法
812
查看次数

参数化查询抛出IllegalArgumentException:无法绑定参数

我正在尝试从我的SQLite数据库中检索一些信息,以获取Android应用程序的登录页面.从db检索的代码是:

login.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            SQLiteDatabase db = SQLiteDatabase.openDatabase("/data/data/com.example.androidproject/databases/myDB", null, 0);
            // Check Login
            String username = usernamelogin.getText().toString();
            String password = loginpassword.getText().toString();

            Cursor c = db.rawQuery("SELECT name, password FROM User WHERE name='?' AND password='?'", new String[] {username, password});
            if(c.moveToFirst()) {
                Intent intent=new Intent(Login.this, MainActivity.class);
                 startActivity(intent);
            } else {
                Toast.makeText(getApplicationContext(), "Invalid", Toast.LENGTH_LONG).show();
            }
            c.close();
            db.close();
        }
    });  
Run Code Online (Sandbox Code Playgroud)

但我一直收到这个错误:

03-12 20:38:40.216: E/AndroidRuntime(691): FATAL EXCEPTION: main
03-12 20:38:40.216: E/AndroidRuntime(691): java.lang.IllegalArgumentException: Cannot bind argument at index 2 …
Run Code Online (Sandbox Code Playgroud)

java sqlite android

4
推荐指数
2
解决办法
4460
查看次数

无法实例化应用程序 - 无法获取包信息

我在尝试运行我的应用程序时意外收到以下错误:无法实例化应用程序。我在下面包含了日志猫。我觉得包名称与包名称不一致,因此可能是错误。

10-06 05:44:38.913: E/AndroidRuntime(2056): FATAL EXCEPTION: main
10-06 05:44:38.913: E/AndroidRuntime(2056): java.lang.RuntimeException: Unable to instantiate application com.dooba.beta.IntegratingFacebookTutorialApplication: java.lang.IllegalStateException: Unable to get package info for com.dooba.beta; is package not installed?
10-06 05:44:38.913: E/AndroidRuntime(2056):     at android.app.LoadedApk.makeApplication(LoadedApk.java:509)
10-06 05:44:38.913: E/AndroidRuntime(2056):     at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4417)
10-06 05:44:38.913: E/AndroidRuntime(2056):     at android.app.ActivityThread.access$1300(ActivityThread.java:141)
10-06 05:44:38.913: E/AndroidRuntime(2056):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316)
10-06 05:44:38.913: E/AndroidRuntime(2056):     at android.os.Handler.dispatchMessage(Handler.java:99)
10-06 05:44:38.913: E/AndroidRuntime(2056):     at android.os.Looper.loop(Looper.java:137)
10-06 05:44:38.913: E/AndroidRuntime(2056):     at android.app.ActivityThread.main(ActivityThread.java:5103)
10-06 05:44:38.913: E/AndroidRuntime(2056):     at java.lang.reflect.Method.invokeNative(Native Method)
10-06 05:44:38.913: E/AndroidRuntime(2056):     at java.lang.reflect.Method.invoke(Method.java:525)
10-06 05:44:38.913: E/AndroidRuntime(2056):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
10-06 …
Run Code Online (Sandbox Code Playgroud)

java android android-layout android-activity parse-platform

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

存储mysql数据库连接安全吗?

我真的找不到答案.也许是因为答案很明显.无论如何,在可运行的jar中存储密码是否安全?

就像,我正在一个类中建立数据库连接.人们能够阅读此代码吗?我不希望他们知道MySQL密码.

java

3
推荐指数
1
解决办法
192
查看次数

几分钟Java的时间

我希望计算一天中的时间.

例如:当输入为11:34时,输出应为11*60 + 34.这个日期并不重要.

我只需要它到分钟刻度.秒,毫秒......无所谓.在没有我计算它的情况下,Java中的某个方法是否有一种方法可以做到这一点?

现在,我使用的theTime.split(":"),theTime是一个String控股"11:34"在这里,解析每边的整数,做计算.

我看到了,Time但我现在正在做的事情似乎更直接.

Systems两者都没有.

java time datetime

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

JPA - 使用Root,Join在字段上加入获取

我有这些类,字段总是延迟加载.

public class Book {
     @ManyToOne(fetch = FetchType.LAZY)
     private Publication publication;

     @OneToMany(fetch = FetchType.LAZY)
     private List<Author> authors;

     @OneToMany(fetch = FetchType.LAZY)
     private List<Genre> genres;
}

public class Publication{
     @OneToMany(fetch = FetchType.LAZY)
     private List<Founder> founders;

}
Run Code Online (Sandbox Code Playgroud)

我想要实现的是连接提取连接.在hql中,它看起来像这样:

FROM Book b LEFT JOIN b.authors LEFT JOIN b.genres LEFT JOIN b.publication p LEFT JOIN p.founders
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止所尝试的但是它不起作用:

Root<Book> root ...
Join<Book, Publication> publication = root.join("publication");
publication.fetch("founders");
root.fetch("authors");
root.fetch("genres");
Run Code Online (Sandbox Code Playgroud)

这是异常的原因:

Caused by: javax.persistence.PersistenceException: org.hibernate.loader.MultipleBagFetchException: cannot simultaneously fetch multiple bags
    at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1763)
    at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1677)
    at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1683)
    at …
Run Code Online (Sandbox Code Playgroud)

java hibernate jpa join

3
推荐指数
1
解决办法
1112
查看次数

如果singleton getInstance()方法未同步,Junit测试将失败

我有这个我建立的singelton数据库,以及我创建的这个Junit测试:

独生子

package SingeltonDBVersion1;

import GlobalSetting.User;

/****************************************************************************
 * This is the SingeltonDB. it warps the object DBconn according to the
 * Singleton pattern. it receive name and password (i.e. DBConn parameters) and
 * if it is the first time that a UserContorll try to get an instance it connect
 * to the database. After that, the DBConn instance will be return to the user.
 *****************************************************************************/
public class SingeltonDB {
    private static DBconnImpl db = null;
    private static SingeltonDB singalDb = …
Run Code Online (Sandbox Code Playgroud)

java junit multithreading synchronization thread-safety

3
推荐指数
1
解决办法
1424
查看次数

将具有lambda的类映射到默认值

跟进这个问题.有这样的层次结构.A是基类:

       A 
      / \
     B   C

  |   A    |   |   B       |   |  C      |  
  | getId()|   |A.getId()  |   |A.getId()|
               |isVisible()| 
Run Code Online (Sandbox Code Playgroud)

以及以下内容:

List<A> mappings;
Run Code Online (Sandbox Code Playgroud)

我想将B实例的所有ID映射到B.isVisible()的值,并将C实例的ID映射到TRUE

在初始问题的帮助下,我将其改进为以下格式:

mappings.stream().filter(a -> a instanceof B)
                 .map(b -> (B)b)
                 .collect(Collectors.toMap(A::getId, m -> m.isVisible()));
Run Code Online (Sandbox Code Playgroud)

丑陋的版本是:

mappings.stream()                       
        .collect(Collectors.toMap(A::getId, m ->
                        {
                            boolean isB = m instanceof B;
                            return isB ? ((B) m).isVisible() : true;
                        }));
Run Code Online (Sandbox Code Playgroud)

有关改进它的任何帮助,以提供更优雅的版本的默认值?

java lambda java-8

3
推荐指数
1
解决办法
146
查看次数