Можно ли передать EntityManager в качестве параметра через несколько бинов?

Если вы хотите реализовать или расширить любой другой класс, тогда интерфейс Runnable наиболее предпочтителен, если вы не хотите, чтобы какой-либо другой класс расширялся или реализовывался, тогда предпочтительнее Thread класс

. наиболее распространенная разница -

enter image description here [/g1]

Когда вы extends Thread класс, после этого вы не можете продлить какой-либо другой класс, который вам нужен. (Как вы знаете, Java не позволяет наследовать более одного класса).

Когда вы implements Runnable, вы можете сохранить пространство для своего класса для расширения любого другого класса в будущем или сейчас.

  • Java не поддерживает множественное наследование, что означает, что вы можете продлить один класс только на Java, поэтому, как только вы расширили класс Thread, вы потеряли свой шанс и не можете продлить или наследовать другой класс в Java.
  • В объектно-ориентированном программировании расширение класса обычно означает добавление новых функций, изменение или улучшение поведения. Если мы не вносим никаких изменений в Thread, используйте вместо этого интерфейс Runnable.
  • Runnable interface представляет собой задачу, которая может быть выполнена либо простым потоком, либо исполнителями, либо любыми другими способами. поэтому логическое разделение Задачи как Runnable than Thread является хорошим конструктивным решением.
  • Разделительная задача как Runnable означает, что мы можем повторно использовать задачу, а также иметь возможность выполнять ее с разных средств. так как вы не можете перезапустить Thread после его завершения. снова Runnable vs Thread для задачи, Runnable - победитель.
  • Разработчик Java признает это, и поэтому Исполнители принимают Runnable as Task, и у них есть рабочий поток, который выполняет эту задачу.
  • Наследование всей темы методы - дополнительные накладные расходы только для представления задачи, которая может быть легко выполнена с помощью Runnable.

Предоставлено из javarevisited.blogspot.com

Эти были заметной разницей между Thread и Runnable в Java, если вы знаете какие-либо другие отличия от Thread vs Runnable, чем поделиться ими с помощью комментариев. Я лично использую Runnable over Thread для этого сценария и рекомендую использовать интерфейс Runnable или Callable на основе вашего требования.

Однако существенная разница.

Когда вы extends Thread класс, каждый из ваших потоков создает уникальный объект и связывается с ним. Когда вы implements Runnable, он разделяет один и тот же объект на несколько потоков.

0
задан Hen 29 March 2019 в 10:22
поделиться

1 ответ

Я решил это следующим образом:

public class MyBusinessDao {

    private EntityManager em;

    @Inject
    private MyDao myDao;

    private void setEm(EntityManager em){
    this.em = em;
    //and here i call the setEm method of myDao also
    myDao.setEm(em);
    }
    ...
0
ответ дан Hen 29 March 2019 в 10:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: