zoukankan      html  css  js  c++  java
  • Spring的注解方式配置bean

    eg代码:

    package com.qf.controller;
    
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    
    import javax.servlet.http.HttpServletRequest;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.PostMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    
    import com.github.pagehelper.PageHelper;
    import com.github.pagehelper.PageInfo;
    import com.qf.pojo.Dept;
    import com.qf.pojo.Employee;
    import com.qf.pojo.Post;
    import com.qf.pojo.Sign;
    import com.qf.service.IDeptService;
    import com.qf.service.IEmployeeService;
    import com.qf.service.IPostService;
    
    @Controller
    public class EmployeeController {
        @Autowired
        private IDeptService deptService;
        @Autowired
        private IPostService postService;
        @Autowired
        private IEmployeeService empService;
    
        @RequestMapping("/selectEmployee") // 查询所有
        public String getAllEmployee(Model model, @RequestParam(value = "page", defaultValue = "1") Integer page) {
            
            List<Dept> allDeptss = deptService.getAllDeptss();
            List<Post> allPosts = postService.getAllPosts();
            PageHelper.startPage(page, 5);
            List<Employee> allEmployees = empService.getAllEmployees();
            PageInfo<Employee> pageInfo = new PageInfo<>(allEmployees);
            if (pageInfo.getPageNum()!=0) {
                
                if (pageInfo.getPageNum()==pageInfo.getPages()) {
                       pageInfo.setNextPage(pageInfo.getPages());
                    }
                
                if (allEmployees!=null) {
                    model.addAttribute("jobs", allPosts);
                    model.addAttribute("depts", allDeptss);
                    model.addAttribute("employees", allEmployees);
                    model.addAttribute("pages", pageInfo);
                    model.addAttribute("action", "all");
                    return "employee/employee";
            }
            
            }
            
            
            return "redirect:/selectEmployee";
        }
    
        @GetMapping("/addEmployeeJsp") // 添加员工页面跳转显示
        public String addEmployee(Model model) {
    
            List<Dept> allDeptss = deptService.getAllDeptss();
            List<Post> allPosts = postService.getAllPosts();
            model.addAttribute("jobs", allPosts);
            model.addAttribute("depts", allDeptss);
    
            return "employee/showAddEmployee";
        }
    
        @PostMapping("/addEmployeeOnes") // 添加员工
        public String addEmployeeOne(Employee employee, Model model) {
            int addEmployeeOne = empService.addEmployeeOne(employee);
            return "redirect:/selectEmployee";
        }
    
        @RequestMapping("/selectEmployeeLike") //模糊查询
        public String selectEmployeeOnLike(Model model, HttpServletRequest request,@RequestParam(value = "page", defaultValue = "1") Integer page) {
            String pid = request.getParameter("pid");
            String name = request.getParameter("name");
            String cardId = request.getParameter("cardId");
            String sex = request.getParameter("sex");
            String phone = request.getParameter("phone");
            String did = request.getParameter("did");
            
            HashMap<String, String> map = new HashMap<>();
            map.put("pid", pid);map.put("cardId", cardId);map.put("sex", sex);
            map.put("name", name);map.put("phone", phone);map.put("did", did);
            
            List<Employee> selectEmployeeLike = empService.selectEmployeeLike(map);
            PageHelper.startPage(page, 3);
            List<Dept> allDeptss = deptService.getAllDeptss();
            List<Post> allPosts = postService.getAllPosts();
            
            PageInfo<Employee> pageInfo = new PageInfo<>(selectEmployeeLike);
            if (pageInfo.getPageNum()!=0) {
                model.addAttribute("jobs", allPosts);
                model.addAttribute("depts", allDeptss);
                model.addAttribute("employees", selectEmployeeLike);
                model.addAttribute("pages", pageInfo);
                model.addAttribute("action", "like");
                return "employee/employee";    
            }
            return "redirect:/selectEmployeeLike";
        }
        
        @GetMapping("/updateEmployee") //查询一条 
        public String updateEmployee(Model model,HttpServletRequest  request) {
            
            String eids = request.getParameter("eid");
            int eid=Integer.parseInt(eids);
            
            Employee oneEmp = empService.getOneEmp(eid);
            System.out.println(oneEmp+"********************************");
            model.addAttribute("employee", oneEmp);
            List<Dept> allDeptss = deptService.getAllDeptss();
            List<Post> allPosts = postService.getAllPosts();
            model.addAttribute("jobs", allPosts);
            model.addAttribute("depts", allDeptss);
        
            return "employee/showUpdateEmployee";
        }
        
        @PostMapping("/updateEmployee") //修改 
        public String updateEmployee2(Model model,Employee employee) {
            
            int updateEmployee = empService.updateEmployee(employee);
            
            System.out.println(updateEmployee+"修改666");
        
            return "redirect:/selectEmployee";
        }
        
        @GetMapping("/removeEmployee")//删除员工
        public String delEmp(Model model,String ids){
            
            String[] eids = ids.split(",");
            ArrayList<Integer> list=new ArrayList<>();
            for (String eid : eids) {
                list.add(Integer.parseInt(eid));
            }
            int delEmployee = empService.delEmployee(list);
            
            System.out.println(delEmployee+"个已经删除");
            return "redirect:/selectEmployee";
        }
    }

    比如以上的Controller层在Bean实现类中通过一些Annotation来标注Bean类:

    ·@Component:标注一个普通的Spring Bean类(可以指定Bean名称,未指定时默认为小写字母开头的类名)

    ·@Controller:标注一个控制器类

    ·@Service:标注一个业务逻辑类

    ·@Repository:标注一个DAO类

    通过在成员变量或者方法入参处标注@Autowired按类型匹配注入,也可以使用@Qualifier按名称配置注入。通过在方法上标注@PostConstrut和PreDestroy注解指定的初始化方法和销毁方法(可以定义任意多个)。通过@Scope(“prototype”)指定Bean的作用范围。通过在类定义处标注@Lazy(true)指定Bean的延迟加载。

    当Bean的实现类是当前项目开发的,可以直接在Java类中使用基于注解的配置,配置比较简单。

    eg代碼Impl:

    package com.qf.service.impl;
    
    import java.util.HashMap;
    import java.util.List;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    import com.qf.dao.IEmployeeDao;
    import com.qf.pojo.Employee;
    import com.qf.service.IEmployeeService;
    @Service
    public class EmployeesServiceImpl implements IEmployeeService{
        @Autowired
        private IEmployeeDao employeeDao;
        @Override
        public List<Employee> getAllEmployees() {
    ...................
  • 相关阅读:
    搜索引擎代码资源
    shell十三问(很不错的shell解释)
    Export/Import 使用技巧与常见错误
    利用java实现数据结构中常用的插入排序和快速排序算法
    java23种设计模式与追MM
    sqlldr使用小结(zt)
    排序算法的java实现的网址链接
    Rdesktop与Window相联
    java抽取word,pdf的四种武器
    常用数据库JDBC连接写法
  • 原文地址:https://www.cnblogs.com/li2beyond/p/8012115.html
Copyright © 2011-2022 走看看