常用的注册bean的方式
@ComponentScan扫描到的service和@Controller等的注解
@Configration配置类或者是xml文件的定义。
spring中有几种依赖注入的方式
1.构造器注入。
2.setter方法注入。
3.使用field属性的方式注入。
applicationContext是什么
spring bean
spring aop AopProxy{jdk动态代理,cglib代理}
spring-context
spring-web /webmvc 和tomcat 内置整合
spring事物
一般有编程式事物和声明式是事物(@Transactional)
是基于aop的方式体现的, 当一个方法添加了@Transaction注解之后,spring会基于这个了i生成一个代理的对象,之后将这个代理的对象作为一个bean,当使用这个代理对象的方法的时候,如果有事物处理,那么会先把事物的自动提交给spring,然后去执行具体的业务逻辑,
如果执行逻辑没有出现异常,那么这个逻辑就会直接提交,如果出现了任何异常情况,那么就进行回滚,用户可以控制对哪些异常进行回滚操作。
spring中的事物什么时候会失效?
bean对象没有被spring容器管理,那么aop就不能够进行生效 。不是public 。
自身的调用问题。如果是在本方法内部进行的调用
异常被捕获之后,没有进行再次的抛出,那么@Transctional不能够检查到异常。
数据源要配置事物管理器
springAop动态代理,cglib和jdk
spring的Aop是如何实现的,和aspectJ的区别。
spring支持的bean的作用域有哪些?
1.singleton 使用该属性定义bean的时候,ioc容器创建一个实例。ioc容器中返回的都是同一个Bean的实力。
2.prototype
3.request: 对http请求产生作用,每次http请求创建一个新的bean。适用于webApplication
4.session, 一个会话对应了一个
5.global-session 。
所有的session共同享有一个bean实列。