TinyFramework学习之HelloWorld工程以MVC方式建立

  1. 以maven-archetype-quickstart建立工程
  2. pom添加依赖:org.tinygroup.service;org.tinygroup.weblayer
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
    
      <groupId>com.qiyi</groupId>
      <artifactId>hellomvc</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      <packaging>jar</packaging>
    
      <name>hellomvc</name>
      <url>http://maven.apache.org</url>
    
      <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      </properties>
    
      <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>3.8.1</version>
          <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.tinygroup</groupId>
            <artifactId>org.tinygroup.service</artifactId>
            <version>2.0.25</version>
        </dependency>
        <dependency>
            <groupId>org.tinygroup</groupId>
            <artifactId>org.tinygroup.weblayer</artifactId>
            <version>2.0.25</version>
        </dependency>
      </dependencies>
    </project>
  3. 将新建的hellomvc工程加入Web应用主工程的依赖下
    1)application.xml加入jar包名前缀
    <include-patterns>
                <include-pattern pattern="org\.tinygroup\.(.)*\.jar"/>
                <include-pattern pattern="jstl-1.2.jar"/>
                <include-pattern pattern="com\.qiyi\.(.)*\.jar"/>
            </include-patterns>

    2)Web应用主工程maven增加hellomvc工程的依赖

    <dependency>
            	<groupId>com.qiyi</groupId>
            	<artifactId>hellomvc</artifactId>
            	<version>0.0.1-SNAPSHOT</version>
            </dependency>

    3)Web应用主工程布局文件default.layout添加调用url的入口html

    Hellomvc示例:<a href="${TINY_CONTEXT_PATH}/hellomvc/mvc.page">Hellomvc方式</a><br/>

    注意:现在Web应用主工程save会报错,需要等hellomvc工程完成后才OK

  4. Hellomvc工程添加Action
    package com.qiyi.hellomvc.action;
    
    import org.tinygroup.weblayer.mvc.annotation.Controller;
    import org.tinygroup.weblayer.mvc.annotation.RequestMapping;
    import org.tinygroup.weblayer.mvc.annotation.ResultKey;
    import org.tinygroup.weblayer.mvc.annotation.View;
    
    @Controller()
    public class HellomvcAction {
    
    	@RequestMapping(value={"/hellomvc.do"})
    	@View(value="/hellomvc/result.page")
    	@ResultKey(value="result")
    	public String sayHelloMethod(String name) {
    		if (name == null) {
    			name = "world";
    		}
    		return  String.format("Hello, %s", name);
    	}
    }
  5. 添加注解xml
    <?xml version="1.0" encoding="UTF-8"?>
    <annotation-class-matchers>
    	<annotation-class-matcher class-name="(.)*Action" annotation-type="org\.tinygroup\.weblayer\.mvc\.annotation\.Controller">
    		<processor-beans>
    			<processor-bean enable="true" name="controllerAnnotationAction"></processor-bean>
    		</processor-beans>
    		<!-- 规范类名必须是Action结尾的,业务方法必须是Method结尾的,加载器才会加载对应的annotation类型 -->
    		<annotation-method-matchers>
    			<annotation-method-matcher method-name="(.)*Method"  annotation-type="org\.tinygroup\.weblayer\.mvc\.annotation\.RequestMapping">
    				<processor-beans>
    					<processor-bean enable="true" name="controllerAnnotationAction"></processor-bean>
    				</processor-beans>
    			</annotation-method-matcher>
    		</annotation-method-matchers>
    	</annotation-class-matcher>
    </annotation-class-matchers>
  6. 添加bean定义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"
    	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    
    	<bean id="hellomvcAction" name="hellomvcAction" scope="prototype"
    		class="com.qiyi.hellomvc.action.HellomvcAction">
    	</bean>
    </beans>
时间: 2024-10-12 07:36:33

TinyFramework学习之HelloWorld工程以MVC方式建立的相关文章

iOS学习之HelloWorld工程

本文应读者要求,主要简介使用Xcode创建一个“HelloWorld”工程. 1.打开Xcode,点击新建工程 选择工程类型 2.填写工程信息 3.代码简介 // // main.m // helloWorld // // Created by dengwei on 16/2/4. // Copyright (c) 2016年 dengwei. All rights reserved. // //Objective-C中使用#import导入一个头文件,与#include的区别在于不会重复导入同

storm记录--5-- Storm学习的HelloWorld

Storm学习的HelloWorld 1.下载Storm-start(https://github.com/nathanmarz/storm-starter/archive/master.zip) 2.进入下载目录,对zip文件解压 3.进入解压后的文件目录,修改m2-pom.xml(将twitter4j-core和twitter4j-stream替换为下面的部分) <dependency> <groupId>org.twitter4j</groupId> <ar

MVC系列——MVC源码学习:打造自己的MVC框架(四:自定义视图)

前言:通过之前的三篇介绍,我们基本上完成了从请求发出到路由匹配.再到控制器的激活,再到Action的执行这些个过程.今天还是趁热打铁,将我们的View也来完善下,也让整个系列相对完整,博主不希望烂尾.对于这个系列,通过学习源码,博主也学到了很多东西,在此还是把博主知道的先发出来,供大家参考. 本文原创地址:http://www.cnblogs.com/landeanfen/p/6019719.html MVC源码学习系列文章目录: MVC系列——MVC源码学习:打造自己的MVC框架(一) MVC

Spring 4 官方文档学习(十一)Web MVC 框架之resolving views 解析视图

接前面的Spring 4 官方文档学习(十一)Web MVC 框架,那篇太长,故另起一篇. 针对web应用的所有的MVC框架,都会提供一种呈现views的方式.Spring提供了view resolvers,可以让你在浏览器中render model,而不必绑定到某种特定的view技术上.开箱即用,例如,Spring可以让你使用JSPs.Velocity目标和XSLT views.See Chapter 23, View technologies for a discussion of how

Java8 Lambda表达式深入学习(4) -- Java8实现方式

前几篇文章讨论了函数式接口和Lambda表达式语法.invokedynamic指令,以及Groovy2如何利用indy指令.本篇文章在前面几篇的基础之上,简要介绍Java8底层是如何实现Lambda表达式的. 示例代码 本文将以下面的代码为例展开讨论: import java.util.Arrays; import java.util.List; public class LambdaImplTest { public static void main(String[] args) { m1(A

AspectJ基础学习之三HelloWorld(转载)

AspectJ基础学习之三HelloWorld(转载) 一.创建项目 我们将project命名为:aspectjDemo.然后我们新建2个package:com.aspectj.demo.aspect 和 com.aspectj.demo.test 前者用来方apsect.后者用来放测试类.如果你仔细的话,你会发现Aspectj的项目上面有个AJ的标志. 二.创建Aspect 首先我们创建HelloWorld.java.他包含main()方法,但是没有方法体,代码如下: [java] view

创建第一个HelloWorld工程就出现以下错误,请高手解惑,

============问题描述============ HelloWorld工程run as的时候出现以下错误,请问是怎么回事? [2014-09-18 22:35:29 - HelloWorld] Please ensure that adb is correctly located at 'C:\Program Files\Android\android-sdk\platform-tools\adb.exe' and can be executed. [2014-09-18 22:39:2

.NET Remoting学习笔记(二)激活方式

目录 .NET Remoting学习笔记(一)概念 .NET Remoting学习笔记(二)激活方式 参考:百度百科  ♂风车车.Net 激活方式概念 在访问远程类型的一个对象实例之前,必须通过一个名为Activation的进程创建它并进行初始化.这种客户端通过通道来创建远程对象,称为对象的激活. 激活分为两大类:服务器端激活  客户端激活 服务器端激活 又称WellKnow(知名对象) 服务器应用程序在激活对象实例之前会在一个众所周知的统一资源标识符(URI)上来发布这个类型.然后该服务器进程

Gradle学习(四) web工程构建

Gradle为应用开发提供了两个相关的插件:war plugin以及jetty plugin war plugin继承了java plugin为你的工程构建war包,jetty pugin继承了war plugin可以让的工程构建在嵌入式容器jetty中 构建War文件 首先在你的build.gradle中添加如下一行 apply plugin: 'war' 由于war plugin继承了java plugin,所有java plugin也会被默认的加入配置文件中 运行gradle build命