Spring Framework: различия между версиями

Содержимое удалено Содержимое добавлено
Нет описания правки
Нет описания правки
Строка 92:
 
'''@PathVariable''' - Аннотация, которая показывает, что параметр метода должен быть связан с переменной из урл-адреса.
 
'''@Scope''' - Аннотация для установки области жизни бина: singleton (только один экземпляр бина создается для IoC контейнера; значение по умолчанию ), prototype (создается новый экземпляр бина когда приходит запрос на его создание), request (один экземпляр бина для каждого HTTP запроса ), session (один экземпляр бина для каждой сессии), globalSession (один экземпляр бина для каждой глобальной сессии)
 
'''@PostConstruct''' - Аннотация для метода, который будет вызван после вызова конструктора бина.
 
'''@PreDestroy''' - Аннотация для метода, который будет вызван перед уничтожением бина.
 
Контроллер - org.app.controller.UserController.java
Строка 97 ⟶ 103 :
package org.app.controller;
 
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import org.app.domain.User;
import org.app.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
Строка 108 ⟶ 117 :
 
@Controller
@Scope("singleton")
public class UserController {
@Autowired
private IUserService userService;
@PostConstruct
public void post(){
System.out.println("post construct");
}
@PreDestroy
public void pre(){
System.out.println("pre destroy");
}
@RequestMapping(value="/index.htm", method=RequestMethod.GET)
public String index(Model model) {
model.addAttribute("accounts", userService.getAll());
return "index";
}
}
@RequestMapping(value="/user/create.htm", method=RequestMethod.GET)
public String createUser(@ModelAttribute("userAttribute") User account, Model model) {
return "usercreate";
}
}
@RequestMapping(value="/user/update/{id}.htm", method=RequestMethod.GET)