SSM系列

系列一SpringMVC

对象转化为Json用@ResponseBody Json转化为对象用@RequestBody

系列二Spring

1 spring入门案例程序分析:加载xml配置文件,进行解析得到值,用反射建对象,建完对象之后放到map中,map的key是唯一标识,value是类的定义信息或描述信息。
2 Apache Log4j2是一个开源的日志记录组件,其日志信息的优先级从高到低有TRACE<DEBUG<INFO<WARN<ERROR<FATAL 级别高的会自动屏蔽级别低的日志,如设置了WARN的日志则INFO、DEBUG、TRACE级别的日志不会显示。
3 DI指spring创建对象的过程中将对象依赖属性通过配置进行注入,常见的实现方式有set注入和构造注入。所以结论是:IOC就是一种控制反转的思想,而DI是对IOC的一种具体实现。
4 基于XML管理bean
4.1 IOC基于XML获取bean的三种方式是根据id获取、根据类型获取、根据id和类型获取。注意:当根据类型获取bean时,要求IOC容器中指定类型的bean有且只能有一个(因为它期望是单实例)。
扩展:如果组件类实现了接口,根据接口类型可以获取bean,前提是bean唯一。如果一个接口有多个实现类,这些实现类都配置了bean,根据接口类型是获取不到bean的因为bean不唯一。
结论:根据类型来获取bean时,在满足bean唯一性的前提下,其实只是看(对象instanceof指定的类型)的返回结果,只要返回true就可以认定为和类型匹配,能够获取到。java中,instanceof运算符用于判断前面的对象是否是后面的类、或其子类、实现类的实例。如果是返回true,否则返回false。也就是说:用instanceof关键字做判断时,instanceof运算符的左右操作必须有继承或实现关系。
4.2 依赖注入的两种方式:setter注入、构造器注入。另外xml实体中用&lt代替小于号,用&gt代替大于号。或者写到CDATA区,比如<![CDATA[a<b]]>
4.3 为对象类型属性赋值的方式有引用外部bean(在property标签中用ref引入外部bean的id)、内部bean(整个bean标签写入property标签内)、级联属性赋值。
4.4 bean的生命周期
在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/c49bb10f92004f1ea939e384fdbc557b.png
4.5 FactoryBean是Spring提供的一种整合第三方框架的常用机制。和普通的bean不同,配置一个FactoryBean类型的bean,在获取bean的时候得到的并不是class属性中配置的这个类的对象,而是getObject()方法的返回值。通过这种机制,Spring可以帮我们把复杂组件创建的详细过程和频繁细节都屏蔽起来,只把最简洁的使用界面展示给我们。将来我们整合Mybatis时,Spring就是通过FactoryBean机制来帮我们创建SqlSessionFactory对象的。
4.6 基于XML自动装配:使用bean标签的autowire属性自动装配方式,有byType:根据类型匹配IOC容器中的某个兼容类型的bean,为属性自动赋值,若在IOC中没有任何一个兼容类型的bean能够为属性赋值则该属性不装配即值为默认值null,若在IOC中有多个兼容类型的bean能够为属性赋值则抛出异常NoUniqueDefinitionException;有byName:将自动装配的属性的属性名,作为bean的id在IOC容器中匹配相对应的bean进行赋值。
5 基于注解管理bean
5.1 Spring默认不使用注解装配Bean,因此我们需要在Spring的XML配置中,通过context:component-scan元素开启Spring Beans的自动扫描功能。开启此功能后,Spring会自动从扫描指定的包(base-package属性设置)及其子包下的所有类,如果类上使用了@Component注解,就将该类装配到容器中。
注意:在使用 <context:component-scan> 元素开启自动扫描功能前,首先需要在 XML 配置的一级标签 中添加 context 相关的约束。
5.2 Spring提供了以下多个注解,这些注解可以直接标注在Java类上,将他们定义成Spring Bean。@Component用于描述Spring中的Bean,它是一个泛化的概念,仅仅表示容器中的一个组件(Bean) ,并且可以作用在应用的任何层次,例如Service层、Dao层等。使用时只需将该注解标注在相应类上即可。
@Repository用于将数据访问层(Dao层)的类标识为Spring中的Bean,其功能与@Component相同。
@Service通常用在业务层(Service层),用于将业务层的类标识为Spring中的Bean,其功能与@Component相同。
@Controller通常作用在控制层(如SpringMVC的Controller),用于将控制层的类标识为Spring中的Bean,其功能与@Component相同。
5.3 当一个接口有多个实现类时需使用名称注入,可加@Qualifier(value=" 默认类名首字母小写")来区分。
5.4 全注解开发就是不再使用spring配置文件了,写一个配置类来代替配置文件new AnnotationConfigApplicationContext(SpringConfig.class)。
5.5
Spring中事务控制@Transactional
Spring针对于数据库中的事务控制,开发了一套注解@Transactional,其注解核心用法采用AOP中的Around通知实现了对事务的控制(见TTs0709视频课50分钟)
Aop:在不影响源码的条件下对方法进行扩展
Aop通知类型:1Before 2AfterReturning 3AfterThrowing 4After 5Around

系列三MyBatis

一对多的实质是多个一对一
多对多的实质是多个多对一
一对多关系表的维系方是多的那一方

系列四SpringBoot

1 maven的三种项目打包方式:jar war pom
2 pom文件中build标签是用来项目打包的,如果没添加,发布上去后会报此程序没有主启动清单的错
3 全天下连接数据库最快的就是JDBC
4 springboot中有n个选择器,程序启动时内部按照选择器的方式进行加载配置项,所以程序中要有对应配置项的连接。
比如pom中添加了jdbc依赖,yml文件中就要写上数据源连接
5 在yml中输入debug=true可浏览所有匹配规则。
6 SpringBoot注解中的要素:元注解、@SpringBootConfiguration、@ComponentScan、@EnableAutoConfiguration
7 开箱即用核心:SpringBoot在内部有N个选择器,当SpringBoot程序启动时,依次加载选择器,如果选择器匹配Pom.xml文件中的启动项,则自动的配置程序开始运行。
8 类AutoConfigurationImportSelector的内部加载规则是循环遍历把所有的选择器执行一遍(见源码)
9

注解 用法 包名

@Data 自动生成getter setter方法 lombok.Data
@TableName(“sys_user”) 当表名和类名不一致时为了对应 com.baomidou.mybatisplus.annotation.TableName

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_168168ww

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值