javaee和Wildfly创建不必要的bean

javaee和Wildfly创建不必要的bean,java,wildfly,Java,Wildfly,我有以下设置: Wildfly 11.0.0(测试版) Netbeans 8.2 和JDK1.8.0_144 当我使用简单的messagebean运行Java EE项目时,如下所示: package com.message.jsf.MessageBean; import javax.enterprise.context.RequestScoped; import javax.inject.Named; @Named @RequestScoped public class MessageBe

我有以下设置:

Wildfly 11.0.0(测试版) Netbeans 8.2 和JDK1.8.0_144

当我使用简单的messagebean运行Java EE项目时,如下所示:

package com.message.jsf.MessageBean;

import javax.enterprise.context.RequestScoped;
import javax.inject.Named;


@Named
@RequestScoped
public class MessageBean {
    public MessageBean(){
         System.out.println("Starting MessageBean");
    }
    private String name="",message="";

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
        System.out.println(name);
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
        System.out.println(message);
    }


}
和客户端视图:

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://xmlns.jcp.org/jsf/html"
    xmlns:f="http://xmlns.jcp.org/jsf/core"
    xmlns:p="http://xmlns.jcp.org/jsf/passthrough"
    xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
    <h:head>
     <title>just a tittle</title>
     <h:outputStylesheet library="css" name="styles.css"/>
    </h:head>
    <h:body>
        <f:view contracts="templateContractTest">
            <ui:composition template="/template.xhtml">
                <ui:composition template="./testingTemplate.xhtml">

                    <ui:define name="content">
                        <h:form>
                            <h:panelGrid columns="3"
                                     columnClasses="rightalign,leftalign,leftali
                                     gn">
                                <h:outputLabel value="Name:" for="Name"/>
                                <h:inputText id="firstName" label="Name"
                                         required="true"
                                         value="#{messageBean.name}" />
                                <h:message for="Name" />
                                <h:outputLabel value="Message:" for="Message"/>
                                <h:inputText id="lastName" label="Message"
                                         required="true"
                                         value="#{messageBean.message}" />
                                <h:message for="Message" />

                                <h:commandButton id="send" value="Send"
                                             action="confirmation" />
                            </h:panelGrid>
                        </h:form>
                    </ui:define>

                </ui:composition>
            </ui:composition>

        </f:view>

    </h:body>
</html>
为什么服务器要创建2个bean?我确实理解为什么每次发送消息时它都会创建一个bean,但我不明白为什么第一个bean会被实例化,因为它没有被使用

17:11:48,457 INFO  [stdout] (default task-6) Starting MessageBean
17:12:03,032 INFO  [stdout] (default task-10) Starting MessageBean
17:12:03,151 INFO  [stdout] (default task-10) name
17:12:03,152 INFO  [stdout] (default task-10) message