Spring中的一些知识点
创始人
2024-06-02 22:51:51
0

FactoryBean 和 BeanFactory的区别

  • FactoryBean可简化Bean的实例化过程:
    1.通过FactoryBean封装Bean的实例化过程.
    2.将FactoryBean装配到Spring容器里.
    3.将FactoryBean注入给其他的Bean.
    4.该Bean得到的是FactoryBean所管理的对象实例.

Java-RestController注解浅析

1.@RestController为开发提供了方便☺,在提供json接口时需要的配置操作再也不需要自己配置了。
2.@RestController注解相当于@ResponseBody和@Controller的结合

@Controller
@ResponseBody
public class MyController { }@RestController
public class MyRestController { }

@ResponseBody与@Controller
上面说到@RestController注解相当于@ResponseBody和@Controller的结合,那么在这里就大致介绍一下这两个注解的作用;

@ResponseBody
在实际操作中我们只需要在Controller层使用@RequestBody注解就可以将对象进行反序列化;而若需要对Controller的方法进行序列化,我们需要在返回值上使用@ResponseBody;也可以将@ResponseBody注解在Controller类上,这样可以将这个类中所有的方法序列化。

@Controller
@Controller是一种特殊化的@Component类,在实际操作中@Controller用来表示Spring某个类是否可以接受HTTP请求,她通常与@ResponseBody绑定使用。

@Component
1.把普通POJO(Plain Ordinary Java Object简单的java对象)实例化到spring容器中,相当于配置文件中的
2.泛指组件,当组件不好归类的时候,可以使用@Component注解进行标注

SpringBoot启动类注解

@SpringBootApplication

- @SpringBootConfifiguration:组合了 @Confifiguration 注解,实现配置文件的功能。
- @EnableAutoConfifiguration:打开自动配置的功能,也可以关闭某个自动配置的选项。
- @SpringBootApplication(exclude = { DataSourceAutoConfifiguration.class })
- @ComponentScan:Spring组件扫描

SpringBoot启动方式?

1.main方式

2.命令行java -jar的方式

3.mvn/gradle

SpringBoot自动配置原理

@EnableAutoConfifiguration (开启自动配置) 该注解引入了AutoConfifigurationImportSelector,该类中

的方法会扫描所有存在META-INF/spring.factories的jar包。

开启SpringBoot特性的几种方式

1.集成spring-boot-starter-parent项目

2.导入spring-bootdependencies项目依赖

SpringBoot读取配置相关注解

  • @PropertySource

  • @Value

  • @Environment

  • @ConfifigurationProperties

  • ## IOC

  • Spring两大特性:IOC 和AOP

    • 什么是控制?控制了什么?
      • 对象的创建,对象里的属性赋值都交给Spring来做,这就是控制的思想
      • 我们要做的仅仅是定义类,以及定义哪些属性需要Spring来赋值(比如某个属性上加@Autowired)
      • 反转的思想就是说,一种对象控制权的转移

    Spring事务什么时候会失效?

    • Spring事务的原理是AOP,进行了切面增强,那么失效的根本原因是这个AOP不起作用了

      • 1.发生自调用,类里面使用this调用奔雷的方法(this通常省略),此时这个this对象不是代理类,⽽是 UserService对象本身! 解决⽅法很简单,让那个this变成UserService的代理类即可!

      • 2、⽅法不是public的:@Transactional 只能⽤于 public 的⽅法上,否则事务不会失效,如果要⽤在

        ⾮ public ⽅法上,可以开启 AspectJ 代理模式。

      • 3.数据库不支持事务

      • 没有被spring管理

      • 异常被吃掉,事务不会回滚(或者抛出的异常没有被定义,默认为RuntimeException)

Spring中的Bean创建的生命周期有哪些步骤

  • 推断构造方法
  • 实例化
  • 填充属性(依赖注入)
  • 处理Aware回调
  • 初始化,处理InitialzingBean接口
  • 初始化后,进行AOP

相关内容

热门资讯

常用商务英语口语   商务英语是以适应职场生活的语言要求为目的,内容涉及到商务活动的方方面面。下面是小编收集的常用商务...
六年级上册英语第一单元练习题   一、根据要求写单词。  1.dry(反义词)__________________  2.writ...
复活节英文怎么说 复活节英文怎么说?复活节的英语翻译是什么?复活节:Easter;"Easter,anniversar...
2008年北京奥运会主题曲 2008年北京奥运会(第29届夏季奥林匹克运动会),2008年8月8日到2008年8月24日在中华人...
英语道歉信 英语道歉信15篇  在日常生活中,道歉信的使用频率越来越高,通过道歉信,我们可以更好地解释事情发生的...
六年级英语专题训练(连词成句... 六年级英语专题训练(连词成句30题)  1. have,playhouse,many,I,toy,i...
上班迟到情况说明英语   每个人都或多或少的迟到过那么几次,因为各种原因,可能生病,可能因为交通堵车,可能是因为天气冷,有...
小学英语教学论文 小学英语教学论文范文  引导语:英语教育一直都是每个家长所器重的,那么有关小学英语教学论文要怎么写呢...
英语口语学习必看的方法技巧 英语口语学习必看的方法技巧如何才能说流利的英语? 说外语时,我们主要应做到四件事:理解、回答、提问、...
四级英语作文选:Birth ... 四级英语作文范文选:Birth controlSince the Chinese Governmen...
金融专业英语面试自我介绍 金融专业英语面试自我介绍3篇  金融专业的学生面试时,面试官要求用英语做自我介绍该怎么说。下面是小编...
我的李老师走了四年级英语日记... 我的李老师走了四年级英语日记带翻译  我上了五个学期的小学却换了六任老师,李老师是带我们班最长的语文...
小学三年级英语日记带翻译捡玉... 小学三年级英语日记带翻译捡玉米  今天,我和妈妈去外婆家,外婆家有刚剥的`玉米棒上带有玉米籽,好大的...
七年级英语优秀教学设计 七年级英语优秀教学设计  作为一位兢兢业业的人民教师,常常要写一份优秀的教学设计,教学设计是把教学原...
我的英语老师作文 我的英语老师作文(通用21篇)  在日常生活或是工作学习中,大家都有写作文的经历,对作文很是熟悉吧,...
英语老师教学经验总结 英语老师教学经验总结(通用19篇)  总结是指社会团体、企业单位和个人对某一阶段的学习、工作或其完成...
初一英语暑假作业答案 初一英语暑假作业答案  英语练习一(基础训练)第一题1.D2.H3.E4.F5.I6.A7.J8.C...
大学生的英语演讲稿 大学生的英语演讲稿范文(精选10篇)  使用正确的写作思路书写演讲稿会更加事半功倍。在现实社会中,越...
VOA美国之音英语学习网址 VOA美国之音英语学习推荐网址 美国之音网站已经成为语言学习最重要的资源站点,在互联网上还有若干网站...
商务英语期末试卷 Part I Term Translation (20%)Section A: Translate ...