第二课笔记

目录

一、 SpringBoot

 二、HTTP Method

三、Velocity 基础语法

四、Response/Request

五、重定向/error

六、IoC(控制反转)

七、AOP


一、 SpringBoot

1.基本介绍

Spring Boot将很多魔法带入了Spring应用程序的开发中,其中最重要的是以下四个核心:

自动配置:针对很多Spring应用程序常见的应用功能,Spring Boot能自动提供相关配置。
起步依赖:告诉Spring Boot需要什么功能,它就能引入需要的库。
命令行界面:这是Spring Boot的可选特征,借此你只需要写代码就能够完成完整的应用程序,无需传统的项目构建。
Actuator:让你能够深入运行中的Spring Boot程序,一探究竟。
 

可以使用Spring INITIALIZR创建一个SpringBoot项目。添加一些基础依赖,把项目的脚手架弄好。

2. Spring对于请求的响应模型

 二、HTTP Method

 

三、Velocity 基础语法

“ ” 双引号里的东西,才会对模版语言进行解析,‘ ’ 单引号则直接输出文本。

$!{变量/表达式}:如果有值则输出,如果为空,则不显示;

${变量/表达式}:如果有值则输出,如果为空,则将该代码原样输出;

## 注释

#*

多行注释

*#

for 循环:

#foreach($color in $ colors)

Color $!{foreach.count} / ${foreach.index} : $!{color}

#end

模版继承:

include 纯文本继承

parse 变量解析

四、Response/Request

@CookieValue

value:参数名称

required:是否必须

defaultValue:默认值

 

@RequestMapping(value = {"/response"})
@ResponseBody
public String response(@CookieValue(value = "nowcoderid", defaultValue = "a") String nowcoderId,
                           @RequestParam(value = "key", defaultValue = "key") String key,
                           @RequestParam(value = "value", defaultValue = "value") String value,
                           HttpServletResponse response) {
        response.addCookie(new Cookie(key, value));
        response.addHeader(key, value);
        return "NowCoderId From Cookie:" + nowcoderId;
    }

五、重定向/error

重定向:

301: 永久转移

302:临时转移

  @RequestMapping("/redirect/{code}")
    public String redirect(@PathVariable("code") int code,
                           HttpSession session) {
        /* 
        //强制跳转到首页
        RedirectView red = new RedirectView("/", true);
        if (code == 301) {
            red.setStatusCode(HttpStatus.MOVED_PERMANENTLY);
        }
        return red;*/
        session.setAttribute("msg", "Jump from redirect.");
        //下面这种跳转默认是302跳转
        return "redirect:/";
    }
@RequestMapping("/admin")
@ResponseBody
    public String admin(@RequestParam(value = "key", required = false) String key) {
        if ("admin".equals(key)) {
            return "hello admin";
        }
        throw new IllegalArgumentException("Key 错误");
    }

    //Spring MVC外的Exception或Spring MVC没有处理的Exception
    @ExceptionHandler()
    @ResponseBody
    public String error(Exception e) {
        return "error:" + e.getMessage();
    }

六、IoC(控制反转)

 

依赖注入:

一种通过注解:@Autowired

还可以通过配置文件xml进行注入

七、AOP

 

@Aspect
@Component
public class LogAspect {
    //日志记录
    private static final Logger logger = LoggerFactory.getLogger(LogAspect.class);

    @Before("execution(* com.nowcoder.controller.*Controller.*(..))")
    public void beforeMethod(JoinPoint joinPoint) {
        StringBuilder sb = new StringBuilder();
        for (Object arg : joinPoint.getArgs()) {
            sb.append("arg:" + arg.toString() + "|");
        }
        logger.info("before method: " + sb.toString());
    }

    @After("execution(* com.nowcoder.controller.IndexController.*(..))")
    public void afterMethod(JoinPoint joinPoint) {
        logger.info("after method: ");
    }
}

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值