• Spring Framework Part4 self-summeries-a simplified MVC framework


    1.关于Spring Framework xml的头部

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xmlns:context="http://www.springframework.org/schema/context"
          xmlns:mvc="http://www.springframework.org/schema/mvc"
          xsi:schemaLocation="http://www.springframework.org/schema/beans 
          http://www.springframework.org/schema/beans/spring-beans.xsd 
          http://www.springframework.org/schema/context 
          http://www.springframework.org/schema/context/spring-context.xsd 
          http://www.springframework.org/schema/mvc 
          http://www.springframework.org/schema/mvc/spring-mvc.xsd">
        <context:component-scan base-package="com.littlepage"></context:component-scan>
    </beans>

    context:component-scan 表示扫描package,扫描com.littlepage包下的package

    2.关于目录结构

    3.测试层开始,测试层模拟入口,也就是类似的jsp提交

    package com.littlepage.test;
    
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    import com.littlepage.controller.LoginController;
    
    public class Main {
        public static void main(String[] args) {
            ClassPathXmlApplicationContext cpx=new ClassPathXmlApplicationContext("applicationContext.xml");
            LoginController loginController = cpx.getBean("loginController",LoginController.class);
            boolean isLogin=loginController.testLogin("root", "root");
            if(isLogin) {
                System.out.println("Login Success");
            }else {
                System.out.println("Login Failed");
            }
            cpx.close();
        }
    }

    4.与jsp相连的层是controller层,从controller层开始接入service层,这边是controller层的内容

    package com.littlepage.controller;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    
    import com.littlepage.service.LoginService;
    
    @Controller
    public class LoginController {
        
        @Autowired
        private LoginService loginService;
        
        public boolean testLogin(String name,String password) {
            return loginService.testLogin(name,password);
        }
    }

    5.关于service层的验证

    package com.littlepage.service;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    import com.littlepage.dao.GetNameAndPassword;
    import com.littlepage.pojo.User;
    
    @Service
    public class LoginService {
    
        @Autowired
        GetNameAndPassword getNameAndPassword;
        
        public boolean testLogin(String name, String password) {
            User user=getNameAndPassword.getUser();
            if(user.getName().equals(name)&&user.getPassword().equals(password)) return true;
            return false;
        }
        
    }

    6.service层与dao层连,dao有一个orm映射,与pojo层相连

    package com.littlepage.dao;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Repository;
    
    import com.littlepage.pojo.User;
    
    @Repository
    public class GetNameAndPassword {
        
        @Autowired
        private User user;
    
    
        public User getUser() {
            return user;
        }
    }

    7.pojo层注意,是一个prototype的scope,属性用@Value进行赋值

    package com.littlepage.pojo;
    
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.context.annotation.Scope;
    import org.springframework.stereotype.Component;
    
    @Component
    @Scope("prototype")
    public class User {
        
        @Value("root")
        private String name;
        @Value("root")
        private String password;
        
        public User() {
        }
    
        public User(String name, String password) {
            super();
            this.name = name;
            this.password = password;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getPassword() {
            return password;
        }
    
        public void setPassword(String password) {
            this.password = password;
        }
    
        
        
    }

    8.运行,测试结果无误

  • 相关阅读:
    rails3 routes
    rails delete destroy difference
    ruby doc
    今天提交了一个patch开心,呵呵
    ruby collect map seems the function is the same?
    jquery closest
    rails 笔记
    网店系统
    rails脚本架命令及心得
    rails3 expericence
  • 原文地址:https://www.cnblogs.com/littlepage/p/11027808.html
Copyright © 2020-2023  润新知