簡體   English   中英

如何在不使用注釋的情況下創建Spring控制器?

[英]How can I create a Spring controller without the use of the annotations?

我正在攻讀Spring Core認證,我對這個問題有些懷疑:

@Controller注釋用於什么? 如何在沒有注釋的情況下創建控制器?

所以我知道@Controller注釋表明一個特定的類服務於控制器的角色。 @Controller注釋充當帶注釋的類的構造型,指示其角色。 調度程序掃描這些帶注釋的類以查找映射方法,並檢測@RequestMapping注釋。

所以控制器類是這樣的:

@Controller
public class AccountController {

    @RequestMapping("/listAccounts")
        public String list(Model model) {...}
    }
}

好的,這對我來說非常清楚,但究竟是什么意思創建一個沒有注釋的控制器? 我該怎么做? 通過XML配置還是如何?

TNX

public class AccountController extends MultiActionController {
    public ModelAndView listAccounts() {
        // your code
        return new ModelAndView("listAccounts.bean", "msg", "As you  want")
    }
}

web.xml中

<servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>*.bean</url-pattern>
</servlet-mapping>

調度員servlet.xml中

<bean name="/listAccounts.bean" class="p1.AccountController"></bean>

我遇到過這個問題: 沒有注釋的Spring MVC 3.1?

看起來你實際上可以創建一個沒有注釋的控制器(我已經和Spring一起工作了一年多而沒有遇到過這種情況,我不知道為什么人們會想要這樣做,除了認證當然是問題)以及執行此操作的方法是在dispatcher-servlet XML文件中使用特殊配置。

只是為了評論為什么有人想以編程方式或通過XML來配置Spring的原因,這是因為在運行時需要掃描所有尋找注釋的文件,因此如果我們禁用掃描並手動配置它,應用程序將可用更快地服務請求,這對於高需求的場景特征非常重要。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM