自动对象在一个类中访问,但在另一个类中不访问

时间:2017-09-18 16:47:40

标签: java spring-boot autowired

我正在自动装配组件中的对象。我能够在一个组件中访问它,我无法在另一个组件中访问它。

为什么?

    @Component
    public class AcListenerPublisherImpl implements MessageListener {

        private static final Logger log = Logger.getLogger(AcListenerSubscriber.class);

        @Value("${ac.templates.actual}")
        private String actual;

        @Value("${ac.templates.curve}")
        private String curve;

        @Autowired
        private AcImpl ac;

        public AcListenerPublisherImpl(){

        }

        @Override
        public void onMessage(Message message) {

            try {
                ......
            } catch (JMSException | ClassNotFoundException | IOException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }

        }

        private void executeevent(AcTransactionRecord record) {
            AcEvent acEvent;
LINE 100            log.info("Got port" +ac.getServer().getHttpPort() + "got actual"+ actual);
            acEvent = new AcEventPublisherImpl(ac, actual.split(","), curve.split(","), record);


        }

我无法访问ac对象,它在该行100处抛出空指针异常。 重要的是,同一个对象在另一个已经存在的类中自动装配,并且它的工作完全正常。 它是我在这里创建的新类,我无法访问任何这些自动装配的对象。 我也无法使用$ sign访问这些值。这些都在其他课程中完美运作。 这可能是由于包装结构?或者我做错了什么?

0 个答案:

没有答案