它可用于修饰方法和参数。
出现在方法上,表示当前方法 会在控制器的方法执行之前,先执行。它可以
修饰没有返回值的方法,也可以修饰有具体返回值的方法。
出现在参数上,获取指定的数据给参数赋值。 
隔离
<body>
    <form action="param/saveAccount" method="post">
        姓名:<input type="text" name="username" /><br/>
        密码:<input type="text" name="password" /><br/>
        金额:<input type="text" name="money" /><br/>
        <input type="submit" value="提交" /><br/>
    </form>
</body>
隔离
ParamController.java
@Controller
@RequestMapping("/param")
public class ParamController {

    @RequestMapping("/saveAccount")
    public String testParam(Account account) {
        System.out.println(account);
        return "success";
    }

    @ModelAttribute
    public Account findAccount(String username) {
        System.out.println("findAccount方法执行了");
        Account account=new Account();
        account.setUsername(username);
        account.setPassword("456");
        account.setMoney(100d);
        account.setDate(new Date());
        return account;
    }
}
Account.java
public class Account implements Serializable {
    private String username;
    private String password;
    private Double money;
    private Date date;
隔离
第二种写法没有返回值。