王常辉 项目2 实现

王常辉 项目2 实现_第1张图片

新建pom文件是maven的配置文件。
王常辉 项目2 实现_第2张图片

创建SpringBoot项目:
王常辉 项目2 实现_第3张图片
在这里插入图片描述
王常辉 项目2 实现_第4张图片
这里是在tamplate 里面的你看代码
在这里插入图片描述

 @RequestMapping(value = {"/vm"})
    public String news(Model model) {
        model.addAttribute("value1", "vv1");
        List<String> colors = Arrays.asList(new String[]{"RED", "GREEN", "BLUE"});

        Map<String, String> map = new HashMap<String, String>();
        for (int i = 0; i < 4; ++i) {
            map.put(String.valueOf(i), String.valueOf(i * i));
        }

        model.addAttribute("colors", colors);
        model.addAttribute("map", map);
        model.addAttribute("user", new User("Jim"));

        return "news";
    }

<html>
<body>
<pre>
Hello VM.

## 你看不到我

#*
这里都看不到
*#

value1:$!{value1}
$!{value2}
${value3}

#foreach ($color in $colors)
Color $!{foreach.index}/$!{foreach.count}: $!{color}
#end

#foreach($key in $map.keySet())
Number $!{foreach.index}/$!{foreach.count}: $!{key} $map.get($key)
#end

#foreach($kv in $map.entrySet())
Number $!{foreach.index}/$!{foreach.count}: $!{kv.key} $!{kv.value}
#end


User:$!{user.name}
User:$!{user.getName()}

#set($title = "nowcoder")
Include: #include("header.vm") <br>
Parse:#parse("header.vm")

#macro (render_color, $color, $index)
Color By Macro $index, $color
#end

#foreach ($color in $colors)
    #render_color($color, $foreach.index)
#end

#set($hello = "hello")
#set($hworld1 = "$!{hello} world")
#set($hworld2 = '$!{hello} world')

hworld1:$hworld1
hworld2:$hworld2

$!{colors.size()}

</pre>
</body>
</html>

王常辉 项目2 实现_第5张图片
这里是类似牛客网顶部和底部不变。
王常辉 项目2 实现_第6张图片
王常辉 项目2 实现_第7张图片
双引号是解析 解析文本

王常辉 项目2 实现_第8张图片
王常辉 项目2 实现_第9张图片

IOC 家 aop
这是一次定义一个service 控制反转和依赖注入

王常辉 项目2 实现_第10张图片
王常辉 项目2 实现_第11张图片

当spring函数起来时候 通过这个注入就可以实现say的函数了。
王常辉 项目2 实现_第12张图片
用最简单的方式实现 注入
王常辉 项目2 实现_第13张图片
取消了配置文件。
王常辉 项目2 实现_第14张图片

AOP
就是比如 统计所有方法在运行过程中的时间消耗。
不可能每一个方法都用 before after 然后去剪 然后再去打印这样太啰嗦了。
比如有一个log的服务实现所有的方法。
王常辉 项目2 实现_第15张图片
王常辉 项目2 实现_第16张图片

不是特殊服务 面向所有服务来做这个业务。

你可能感兴趣的:(王常辉 项目2 实现)