Spring @PostConstruct执行顺序?

时间:2019-04-12 06:32:59

标签: java spring spring-mvc dependency-injection postconstruct

<HorizontalScrollView
                    android:id="@+id/scrollView1"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:fillViewport="true"
                    android:layout_weight="1"
                    android:fadingEdgeLength="20dp"
                    android:scrollbars="none" >
                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content">
                    <android.support.design.widget.TabLayout
                        android:id="@+id/tabLayout"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:minHeight="?actionBarSize"
                        app:tabGravity="fill"
                        app:tabIndicatorColor="@color/white"
                        app:tabIndicatorHeight="4dp"
                        app:tabBackground="@color/colorPrimary"
                        app:tabMode="scrollable"
                        android:overScrollMode="never"
                        android:visibility="visible">
                    </android.support.design.widget.TabLayout>
                    </LinearLayout>
                </HorizontalScrollView>

问题:间歇性

说明: 现在以我为例,首先调用PostCostruct for User。在实际填充值之后调用MyOtherBean PostConstruct。

当用户PostConstruct尝试使用getValues时,它将返回null并将结果存入NPE。

问题

  
      
  1. 有什么办法可以避免这种情况?
  2.   
  3. 避免这种依赖性的正确标准方法是什么?
  4.   

1 个答案:

答案 0 :(得分:0)

@PostConstruct在Bean构建之后调用,设置属性但在注入上下文之前。理想情况下,应该在其中放置依赖于其他bean的任何代码-因为这些bean可能尚未初始化。

https://hobione.wordpress.com/2009/04/22/jsf-postconstruct/