Spring Singleton Beans Safety SafetyJAVA

Программисты JAVA общаются здесь
Anonymous
Spring Singleton Beans Safety Safety

Сообщение Anonymous »

Я новичок в пружине и имею несколько основных вопросов. В одном из примеров весеннего, как приведено ниже, я заметил, что работник, работающий на автозавиде. < /p>

Вопрос: < / p>


Объем работников не указан, поэтому я предполагаю, что применение по умолчанию - это синглтон, а пружинные бобы не являются нити. Это предположение, правильно? потоки одновременно со значениями "1" "2" & "3" и тот же экземпляр работника, который будет сгенерировать для каждого потока (с момента его синглтона), что будет выполнено удаление. Условие? < /p>

@Controller
public class EditEmployeeController
{
@Autowired
private EmployeeManager employeeManager;

@RequestMapping(value = "/", method = RequestMethod.GET)
public String listEmployees(ModelMap map)
{
map.addAttribute("employee", new EmployeeEntity());
map.addAttribute("employeeList", employeeManager.getAllEmployees());
return "editEmployeeList";
}
@RequestMapping(value = "/add", method = RequestMethod.POST)
public String addEmployee(@ModelAttribute(value="employee") EmployeeEntity employee, BindingResult result)
{
employeeManager.addEmployee(employee);
return "redirect:/";
}
@RequestMapping("/delete/{employeeId}")
public String deleteEmplyee(@PathVariable("employeeId") Integer employeeId)
{
employeeManager.deleteEmployee(employeeId);
return "redirect:/";
}
public void setEmployeeManager(EmployeeManager employeeManager) {
this.employeeManager = employeeManager;
}
}
< /code> < /li>
< /ol>

employeEmanager - < /p>

public interface EmployeeManager {
public void addEmployee(EmployeeEntity employee);
public List getAllEmployees();
public void deleteEmployee(Integer employeeId);
}

@Service
public class EmployeeManagerImpl implements EmployeeManager
{
@Autowired
private EmployeeDAO employeeDAO;
@Override
@Transactional
public void addEmployee(EmployeeEntity employee) {
employeeDAO.addEmployee(employee);
}
@Override
@Transactional
public List getAllEmployees() {
return employeeDAO.getAllEmployees();
}
@Override
@Transactional
public void deleteEmployee(Integer employeeId) {
employeeDAO.deleteEmployee(employeeId);
}
public void setEmployeeDAO(EmployeeDAO employeeDAO) {
this.employeeDAO = employeeDAO;
}
}


Подробнее здесь: https://stackoverflow.com/questions/270 ... ead-safety

Вернуться в «JAVA»