• spring全注解项目


    项目结构如下:

    spring配置

    <?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"  xmlns:p="http://www.springframework.org/schema/p"  xsi:schemaLocation="http://www.springframework.org/schema/beans  http://www.springframework.org/schema/beans/spring-beans.xsd  http://www.springframework.org/schema/mvc  http://www.springframework.org/schema/mvc/spring-mvc.xsd  http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"  >  
        
      <context:component-scan base-package="com.*" /><!-- 最好建一个父包,以便于扫描 -->
    	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    		<property name="prefix"><value>/WEB-INF/pages/</value></property>
    		<property name="suffix"><value>.jsp</value></property>
    	</bean>
    </beans>  
    

    web.xml配置

    <web-app>
      
        <display-name>Spring MVC Application</display-name>
      
        <servlet>
            <servlet-name>mvc-dispatcher</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <load-on-startup>1</load-on-startup>
        </servlet>
      
        <servlet-mapping>
            <servlet-name>mvc-dispatcher</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>
      
        <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath*:mvc-dispatcher-servlet.xml</param-value>
        </context-param>
      
        <listener>
            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        </listener>
      
    </web-app>
    

    spring里面有个类是读取properties文件的(这个和本工程无关,提一下)

    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    		<property name="locations">
    			<list>
    				<value>classpath:config.properties</value>
    			</list>
    		</property>
    	</bean>
    

     page下的hello.jsp:

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'index.jsp' starting page</title>
    	<meta http-equiv="pragma" content="no-cache">
    	<meta http-equiv="cache-control" content="no-cache">
    	<meta http-equiv="expires" content="0">    
    	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    	<meta http-equiv="description" content="This is my page">
    	<!--
    	<link rel="stylesheet" type="text/css" href="styles.css">
    	-->
      </head>
      
      <body>
        This is my JSP page. <br>
          本次调用方法是<b>${message }</b>
      </body>
    </html>
    

    controller类: 

    package com.controller;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.servlet.ModelAndView;
    
    import com.service.Myservice;
    
    @Controller
    @RequestMapping("/spring")
    public class MyController{
    	@Autowired
    	private Myservice my;
    	@RequestMapping("/add")
    	public ModelAndView add(HttpServletRequest request,
                HttpServletResponse response) {
            System.out.println("----add----");
    String xx=request.getParameter("name"); System.out.println(xx); String name="123"; my.add(name); return new ModelAndView("/hello", "message", "add"); } @RequestMapping("/del") public ModelAndView del(HttpServletRequest request, HttpServletResponse response) { System.out.println("----del----"); return new ModelAndView("/hello", "message", "del"); } }

    User类:

    package com.model;
    
    import org.springframework.context.annotation.Scope;
    import org.springframework.stereotype.Component;
    
    @Component
    @Scope("prototype") //设置成多例
    public class User {
    	private int id=20;
    	private String name="liming";
    	public int getId() {
    		return id;
    	}
    	public void setId(int id) {
    		this.id = id;
    	}
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    }
    

    proxy类:

    package com.proxy;
    
    import org.springframework.stereotype.Component;
    
    @Component
    public class MyProxy {
    	public void add(){
    		System.out.println("MyProxy");
    	}
    
    }
    

     

    service接口:

    package com.service;
    
    public interface Myservice {
    	public void add(String name);
    
    }
    

    service实现类: 

    package com.service.impl;
    
    import com.model.User;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    import com.proxy.MyProxy;
    
    import com.service.Myservice;
    
    @Service
    public class MyServiceImpl implements Myservice{
    	@Autowired
    	private MyProxy myProxy;
    	@Autowired
    	private User user;
    
    	@Override
    	public void add(String name) {
    		System.out.println("这是serviceImpl:"+name);
    		System.out.println(user.getName()+"今年"+user.getId()+"岁了");
    		myProxy.add();
    	}
    
    }
    

    用tomcat运行后,输入http://localhost:8080/spring/spring/add?name="xx"

    控制台结果为:

    ----add----
    "xx"
    这是serviceImpl:123
    liming今年20岁了
    MyProxy
    

    并且页面上显示

    This is my JSP page. 
    本次调用方法是add
    

      

     用到的基本包

     

      

     

     

     

      

     

      

  • 相关阅读:
    2013-05-25 14:04 zend studio10正式版如何汉化?
    网页前端优化之滚动延时加载图片
    appium框架之bootstrap
    软件测试面试题(一)
    Java中的经典算法之冒泡排序(Bubble Sort)
    Git知识总览(一) 从 git clone 和 git status 谈起
    Webdriver获取多个元素
    idea注册码到期,破解idea
    安装appium桌面版和命令行版
    Python+Appium学习篇之WebView处理
  • 原文地址:https://www.cnblogs.com/JAYIT/p/5608372.html
Copyright © 2020-2023  润新知