Я очень хорошо знаю, что
Any scoped managed bean method annotated with @PostConstruct will be called
after the managed bean is instantiated, but before the bean is placed in scope.
Рассмотрим
<h:inputText binding="#{bean.input}" >
</h:inputText>
где управляемый bean -
public class Bean {
    private HtmlInputText input; 
    public PreInitializeBean(){
        input = new HtmlInputText();
        input.setMaxlength(15);
        input.setStyle("background: pink;");
        input.setValue(fetchValueFromDatabase());
    }
    private Object fetchValueFromDatabase() {
        String resultValue = null;
        try {
            Class.forName("oracle.jdbc.driver.OracleDriver");
            Connection con = DriverManager.getConnection(
                    "jdbc:oracle:thin:@localhost:1521:xe", "system", "system");
            System.out.println("Connection Object: "+con);
            // retieving data from RESULT table
            PreparedStatement ps = con
                    .prepareStatement("select * from RESULT",
                            ResultSet.TYPE_SCROLL_SENSITIVE,
                            ResultSet.CONCUR_UPDATABLE);
            ResultSet rs = ps.executeQuery();
            while (rs.next()) {
                System.out.print("<br>" + rs.getInt(1) + " " + rs.getString(2) + " "
                        + rs.getString(3) + " " + rs.getString(4));
                resultValue = rs.getString(2);
            }
            con.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return resultValue;
    }
    public HtmlInputText getInput() {
        return input;
    }
    public void setInput(HtmlInputText input) {
        this.input = input;
    }
}
Я ничего не получаю в поле inputtext, когда я делаю материал инициализации внутри Contructor, но я получаю ожидаемое (значение в поле ввода), если то, что я делаю, помещаю его в метод, отмеченный с помощью @PostContruct. < ш > Заменить метод конструктора с помощью
    @PostConstruct
    public void init() {
        input = new HtmlInputText();
        input.setMaxlength(15);
        input.setStyle("background: pink;");
        input.setValue(fetchValueFromDatabase());
    }
@Luiggi, кажется, предлагает некоторую помощь здесь в ответ на комментарий, который я сделал.
Примечание: Это также отлично работает.
private String input;
public Bean(){
    this.input= fetchValueFromDatabase();
}
