框架|IV XXSC-10

组件注解

  • 启动类所在的根包为product,启动类中的注解SpringBootApplication中元注解@ComponentScan会默认扫描product的包及所有子包,如果这些包中的类加了组件注解,加了组件注解的,spring会为你创建对象
    框架|IV XXSC-10
    文章图片

    框架|IV XXSC-10
    文章图片
  • 一种组件,一种数据,作用相同,为的是便于区分
    框架|IV XXSC-10
    文章图片
单例模式
  • 静态方法不能访问非静态成员,如下成员要用static修饰,加了static修饰后,变量就会常驻内存,直到程序走完才会释放
    框架|IV XXSC-10
    文章图片
  • 单例模式分为饿汉式[预加载]和懒汉式[懒加载],因为创建时机不同,这样涉及作用域问题
  • spring默认采用单例模式,比如1111服务器本来就很忙,还要去创建对象,这样会加大服务器开销
自动装配机制
  • Spring自动装配机制表现为:当Spring管理的类需要被自动赋值,或者Spring调用的方法的参数需要值时,Spring会自动从容器中找到何时的值,为属性/参数自动赋值.
  • 当类的属性需要值时,可以在属性上加@Autowired注解,否则会报空指针异常
    框架|IV XXSC-10
    文章图片

  • 可以通过构造方法,如果是单个构造方法,是不需要加@Autowired注解的
  • 多个构造方法需要加注解,表示指定某个构造方法,否则启动会报错误
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/10d28cc66a39406280a47f485bf69b67.png
  • 无参和有参构造方法同时存在时,加载无参构造
  • 开发工具建议使用构造方法注入,建议不要使用@Autowired,学术上构造方法注入,实际中不使用
  • 组件扫描后,有组件注解的类才会被创建
  • 错误建议及时报出来,建议required=true
组件扫描的两种方式 【框架|IV XXSC-10】方式1:Spring Bean
  • 每个Spring Bean都有一个名称,默认等于方法的名称,也可以指定名称
    框架|IV XXSC-10
    文章图片

    框架|IV XXSC-10
    文章图片

    方式2:组件扫描
  • 默认将类名首字母改为小写,此规则只适用于类名中第1个字母大写、第2个字母小写的情况,如果不符合此情况,则Bean Name就是类名
  • 如果有两个实现类默认会报错
    框架|IV XXSC-10
    文章图片
  • 通过@service(“xxx”) 指定哪个实现类
    框架|IV XXSC-10
    文章图片
  • 名称冲突的三种解决方式:1 改变量名 2改bean名称 3qualifier
    框架|IV XXSC-10
    文章图片

    框架|IV XXSC-10
    文章图片
  • 匹配规则:先按照类型找数量再匹配名称
  • javax中的@Resource 后Spring造了@Autowired 开发工具给报错,这两个注解都能实现自动装配,只能加在属性,即为全局变量上
    框架|IV XXSC-10
    文章图片

    框架|IV XXSC-10
    文章图片
  • @Autowired和@Resource区别:1.@Resource和@Autowired添加的位置不同 2.先匹配名字再匹配类型
    框架|IV XXSC-10
    文章图片
依赖注入和控制反转
  • DI是手段,IoC是结果
  • IoC就是把手动创建对象交由Spring,即控制权交给Spring
设计展示页面
  • 设计表格时,至少一列不给宽度 用于匹配100%(取决于显示器和浏览器窗口给的宽度,都不指定,就是等宽
  • align=center 表头和数据文字居中
  • 先created,然后再mounted(更贴近准备就绪,执行时间稍晚),建议使用mounted,加载高清大图时,区别更加明显

    推荐阅读