(1) Spring提供两种方式让IOC发现Bean:组件扫描+自动装配
1.1 @Component-Spring mvc会把这个类扫描生成Bean实例。
1.2 @ComponentScan-进行扫描,默认扫描当前包的路径,POJO的包名必须与他保持一致才能扫描。参数1-basePackages-配置一个java包的数组。
2-basePackageClasses-配置多个类
(2) @Autowired-自动装配,spring自己发现对应的bean,自动完成装配。也可在构造方法中使用。
(3) @Bean-可以注解在方法上,并且讲方法返回的对象作为spring的bean,存放在IOC容器中。可以通过@Autowired或@Qualifier等注解注入别的bean中。
(4) 无论使用xml还是注解的方式都可以讲bean装配到IOC容器中,通过容器管理各类资源。
(5) @ImportResource,引入.xml中的内容(数组-可以多个xml)。
(6) @Import 加载多个.class
(7) @Conditional 条件化装配bean
(8) @AspectJ 注解一个类,IOC容器会认为这是一个切面(***)。
(9) @Repository,标志这是一个DAO层,还要告诉spring扫描那个包,扫描对应的mapper到容器中。
(10) @EnableTransactionManagement 使用事务驱动管理器,继承接口方法AnnotationDrivenTransactionManager方法返回的事务管理器作为程序中的事务管理器。在spring上下文使用事务注解@Transactional时,spring就知道使用这个数据库事务管理器了。
(11)编程式事务-自己编写事务管理器(定义接口DefaultTransactionDefinition);声明式事务-一种约定,业务无异常,让事务管理器提交事务,有异常回滚(@Trabsactional或注解配置)。
(12)声明式事务流程:@Transaction注解,在IOC初始化时,spring读入这个注解并保存到一个事务定义类里面,以备将来使用。当运行时,会让spring拦截注解标注的方法
(13) @RequestMapping-指定URL和类或者方法作为一个处理请求的处理器