Java-Spring note

一、注解

注意

  • 使用注解需要导入aop的依赖,xml中加context约束和注解依赖
  • 要加扫描

1、自动装配

  • @Autowired:自动装配,默认by Type
    • 可以使用@Qualiffier(value=“xxx”)
  • @Resource:java自带的,默认by name ,名字冲突亦可以使用by Type
  • @Value(“xxx”) :设置属性 值

2、Component衍生注解

  • @Component:将类放入 spring 容器中
  • MVC三层架构:dao、services、controller
    • dao层: @Repository
    • services层:@@ervice
    • controller层:@Controller
      (上面的三个注解都是@component的衍生,与Component)

作用域:
@Scope(“prototype”)(一般都是试用单例模式)
- 原型模式为每次 get 都新 new 一个对象
- 单例模式每个类只有一个实例

3、Java 代码实现配置,不适用XML文件

  • @Configration // 用在类上面,表示这个类是一个配置类
  • @ComponentScan // 与之前xml文件中的扫描一样的
  • @Import(xxx.class)// 与xmlImport类似

二、动态代理

  • 动态代理分两大类:
    – 基于接口的 —— JDK 动态代理
    – 基于类的 —— cglib
    java字节码实现:javasist
  • 两个类
    • InvocationHandler:由代理实力的调用处理程序实现的接口;
    • Proxy :提供创建动态代理类的静态方法类
      在这里插入图片描述

三、AOP

  • AOP在Spring中的作用:提供声明式事物,允许用户自定义切面
  • 实现
  • 实现一:使用Spring自带的API
  • 实现二:自定义类
  • 方式三:使用注解实现
    • xml配置,开启注解支持:<aop:aspectj-autoproxy />
    • @Aspect,标注这个类是一个切面
    • @Befor“execution()”):标志在函数上,表示方法调用前执行(与After一样选用aspectj包中的,因为有两个重名的)
    • @After():
    • @Around():

四、Spring整合Mybatis

  • mybatis-spring包:

  • mybatis开发流程:

    • 1、编写实体类
    • 2、编写核心配置文件
    • 3、编写接口
    • 4、编写Mapper.xml
    • 5、测试
  • SqlSessionTemplate是Mybatis-Spring的核心,是SqlSession的一个实现,线程安全。

五、Spring MVC

1、流程

在这里插入图片描述

  • 实线是自动执行的,虚线需要用户实现

2、注解实现

  • @Controller:组件注册

  • @RestController // 不走视图解析器,直接返回json字符串

  • @ResponseBody // 不走试图解析器,直接返回一个字符串

  • @RequestMapping(“/hello”)

    • 在类上写回事方法上的上级目录
    • 在方法上上写就是直接路径
    • return的是跳转的js文件
      • 直接写就是转发(返回写的页面)
      • return “redirect:/index.jsp” 这样是重定向
      • Model,ModelAndView,ModelMap,可以返回
        在这里插入图片描述

3、RestFul风格

  • 在url中的斜线分割参数
    在这里插入图片描述

  • 注解风格的不同请求类型

    • @GetMapping
    • @PostMapping
  • RestFul:简洁,高效(缓存),安全

  • lombok中的注解

    • @NoArgsConstructor: 自动生成无参数构造函数。
    • @AllArgsConstructor: 自动生成全参数构造函数。
    • @Data: 自动为所有字段添加@ToString,@EqualsAndHashCode, @Getter方法,为非final字段添加@Setter,和@RequiredArgsConstructor!

4、乱码问题

过滤器解决,SpringMVC自动的,在xml中配置就好了

5、json——Jackson,fastjson

  • 设置MVC乱码解决
  • 设置不走解析器

6、拦截器

  • 与过滤器区别:
    • 拦截器是SpringMVC自己特有的
    • 拦截器只会拦截访问的控制方法,js,jsp,html,css等的访问不会拦截

六、Ajax

  • 不用加载整个网页——异步加载
  • jQuery: Ajax的一个库
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值