1、@component相当于@controller 、@service、@repository的父类,后面3个比component表示得更详细,@controller控制层,@service业务层,@repository持久层
2、根据配置文件的配置,扫描指定的文件(即使文件没有标注@component)
<context:component-scan base-package="com.yiibai" >
<context:include-filter type="regex" expression="com.yiibai.customer.dao.*DAO.*" />
<context:include-filter type="regex" expression="com.yiibai.customer.services.*Service.*" />
</context:component-scan>
<context:include-filter:包含指定文件eg: 不包括在这些文件中标注有 @Service<context:exclude-filter不包含指定文件 type还可以取值为:annotation
<context:component-scan base-package="com.yiibai.customer" > <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service" /> </context:component-scan>
3、默认情况下,@Autowired将执行相关检查,以确保属性已经装配正常。当Spring无法找到匹配的Bean装配,它会抛出异常。要解决这个问题,可以通过 @Autowired 的“required”属性设置为false来禁用此检查功能。
4、spring aop aspectJ:可以通过注解@AspectJ配置在类上,@Before、@After、@AfterReturning、@AfterThrowing、@Around配置在对应方法上,方法就是想要执行的内容。(eg:执行某些方法前/后要输入日志)
5、@transaction事务的四大特性:
原子性:指的是数据库事务是一个不可分割的工作单元
(事务中包括的诸操作要么全做,要么全不做)
一致性:指的是数据库事务不能破坏关系数据的完整性以及业务逻辑上的一致性。
(事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的)
隔离性:并发环境中,当不同的事务同时操作相同的数据时,每个事务都有各自的完整数据空间。
持久性:只有事务提交,数据就所做的更新操作必须永久保存下来。
事务:对一系列的数据库操作统一提交或回滚,(eg:银行转账);要么全部成功,要么全部失败。
mysql数据库:
引擎(ENGINE)
InnoDB:支持事务
MyISAM:不支持事务,但读写很快
加载注解配置:
<context component-scan base-package="包名"/>spring容器解析xml文件不会忽略标签内部字符串的前后空格,
xml解析器会忽略标签内部字符串的前后空格。
servletRequestListener:监听http请求事件,(实现类contextLoaderListener)
servletcontextListener:监听web容器的启动和关闭事件(实现类requestContextListener)
附件:spring配置文件的配置方式