Строгое равенство работает с переменными, но не с объектами [дубликаты]

Если вы не кодируете веб-приложение, убедитесь, что ваш класс, в котором выполняется @Autowiring, является весенним бобом. Как правило, весенний контейнер не будет знать о классе, который мы могли бы назвать весенним бобом. Мы должны рассказать весенний контейнер о наших весенних классах.

Этого можно достичь путем настройки в appln-contxt или лучший способ - аннотировать класс как @Component и, пожалуйста, не создавайте аннотированный класс, используя новый оператор. Убедитесь, что вы получили его из контекста Appln, как показано ниже.

@Component
public class MyDemo {


    @Autowired
    private MyService  myService; 

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
            System.out.println("test");
            ApplicationContext ctx=new ClassPathXmlApplicationContext("spring.xml");
            System.out.println("ctx>>"+ctx);

            Customer c1=null;
            MyDemo myDemo=ctx.getBean(MyDemo.class);
            System.out.println(myDemo);
            myDemo.callService(ctx);


    }

    public void callService(ApplicationContext ctx) {
        // TODO Auto-generated method stub
        System.out.println("---callService---");
        System.out.println(myService);
        myService.callMydao();

    }

}
0
задан Shiran Abbasi 23 March 2019 в 12:22
поделиться

1 ответ

 new String("0") === new String("0")

Здесь вы сравниваете две разные строки, имеющие разные ссылки. Вот почему вы получаете ложь.

 o === o

Здесь вы фактически сравниваете одну и ту же строку (в этом случае ссылка одна и та же).

0
ответ дан Jonas Wilms 23 March 2019 в 12:22
поделиться
Другие вопросы по тегам:

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