Spring核心知识概述

目录:
1. IOC理论
2. IOC创建对象的方式
3. Spring配置
4. 依赖注入
5. Bean的自动装配
6. 使用注解开发
7. 使用纯java配置Spring
8. Spring实现AOP
9. Spring整合MyBatis

 

正文:

1. IOC理论
    - 将对象的控制选择权交给用户,程序员只管使用

2. IOC创建对象的方式
    - 无参构造(默认)
    - 有参,序号传参 index
    - 有参,值类型传参 type
    - 有参,变量名字传参 name
    
3. Spring配置
    - alias别名
    - Bean标签配置
    - import导入多个配置文件
    
4. 依赖注入
    - 构造器注入
    - Set方式注入【重点】
        - 普通值注入(使用value)
        - Bean注入(使用ref)
        - 数组注入
        - list集合注入
        - map集合注入
        - Set集合注入
        - 空值注入
        - Properties配置注入
    - 扩展方式
    注意:P命名和C命名不能直接使用,需要导入约束条件
    xmlns:c="http://www.springframework.org/schema/c"
    xmlns:p="http://www.springframework.org/schema/p"
        - P命名空间注入(可以直接注入属性)Property(对应Set注入)
        - C命名空间注入(注入有参构造属性)Construct-args(对应构造器注入)
        
5. Bean的自动装配
    - 在Spring中有三种装配方式
        1)在xml中显式地配置
        2)在java中显式地配置
        3)隐式地自动装配bean(重要)
            - autowire = "byName"
            - autowire = "byType"
            - 使用注解实现自动装配
                - @Autowired 搭配 @Qualifier(value="xxx") 来使用
                - @Resource(name="xxx")
                
6. 使用注解开发
    注意:使用注解开发必须保证AOP的包导入,并且允许注解
    - Bean标签
        - @Component
    - 属性注入
        - @Value
    - @Component衍生注解(功能一样,都是装配到Bean)
        - dao层 【@Repository】
        - service层【@Service】
        - controller层【@Controller】
    - 作用域
        - @Scope
    
7. 使用纯java配置Spring
    - @Configuration
    - @ComponentScan
    
8. Spring实现AOP
    1)使用原生的Spring API接口
    2)使用自定义类
    3)使用注解

        - 切入点表达式
            - 作用:知道对哪个类里面的哪个方法进行增强
            - 语法:execution([权限修饰符] [返回类型] [类全路径] [方法名称]([参数列表]))
                - 其中,返回类型可以省略
                - 举例:
                    1.对com.pushihao.dao.UserDao类里的add进行增强
                        execution(* com.pushihao.dao.UserDao.add(..))
                    2.对com.pushihao.dao.UserDao类里的所有方法进行增强
                        execution(* com.pushihao.dao.UserDao.*(..))
                    3.对com.pushihao.dao包里的所有类,类里面的所有方法进行增强
                        execution(* com.pushihao.dao.*.*(..))

9. Spring整合MyBatis
第一种方式:
    1. 在Spring配置文件中编写数据源,使用org.springframework.jdbc.datasource.DriverManagerDataSource
    2. 配置sqlSessionFactory的Bean对象,注入数据源,并在其中绑定MyBatis配置文件
    3. 配置sqlSessionTemplate的Bean对象,其实就是MyBatis的sqlSession对象
    4. 给自己创建的接口编写一个实现类,并在Spring中配置一个Bean对象
    5. 测试使用
第二种方式:
    1. 在Spring配置文件中编写数据源,使用org.springframework.jdbc.datasource.DriverManagerDataSource
    2. 配置sqlSessionFactory的Bean对象,注入数据源,并在其中绑定MyBatis配置文件
    3. 给自己创建的接口编写一个实现类,继承SqlSessionDaoSupport类,就可以直接调用其中的getSqlSession方法。在Spring中配置一个Bean对象,为父类注入SqlSessionFactory
    4. 测试使用

事务管理(要成功都成功,要失败都失败):
    - 声明式事务: 使用AOP切入,自动管理
    - 编程式事务: 需要在代码中进行事务的管理

posted @ 2022-02-24 15:16  itgrape  阅读(53)  评论(0)    收藏  举报