目录:
1. IOC理论
2. IOC创建对象的方式
3. Spring配置
4. 依赖注入
5. Bean的自动装配
6. 使用注解开发
7. 使用纯java配置Spring
8. Spring实现AOP
9. Spring整合MyBatis
正文:
- IOC理论
-
将对象的控制选择权交给用户,程序员只管使用
-
IOC创建对象的方式
- 无参构造(默认)
- 有参,序号传参 index
- 有参,值类型传参 type
-
有参,变量名字传参 name
-
Spring配置
- alias别名
- Bean标签配置
-
import导入多个配置文件
-
依赖注入
- 构造器注入
- 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(对应构造器注入)
-
Bean的自动装配
- 在Spring中有三种装配方式
1)在xml中显式地配置
2)在java中显式地配置
3)隐式地自动装配bean(重要) - autowire = “byName”
- autowire = “byType”
- 使用注解实现自动装配
- @Autowired 搭配 @Qualifier(value=”xxx”) 来使用
-
@Resource(name=”xxx”)
-
使用注解开发
注意:使用注解开发必须保证AOP的包导入,并且允许注解 - Bean标签
- @Component
- 属性注入
- @Value
- @Component衍生注解(功能一样,都是装配到Bean)
- dao层 【@Repository】
- service层【@Service】
- controller层【@Controller】
- 作用域
-
@Scope
-
使用纯java配置Spring
- @Configuration
-
@ComponentScan
-
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..(..)) -
Spring整合MyBatis
第一种方式: - 在Spring配置文件中编写数据源,使用org.springframework.jdbc.datasource.DriverManagerDataSource
- 配置sqlSessionFactory的Bean对象,注入数据源,并在其中绑定MyBatis配置文件
- 配置sqlSessionTemplate的Bean对象,其实就是MyBatis的sqlSession对象
- 给自己创建的接口编写一个实现类,并在Spring中配置一个Bean对象
- 测试使用
第二种方式: - 在Spring配置文件中编写数据源,使用org.springframework.jdbc.datasource.DriverManagerDataSource
- 配置sqlSessionFactory的Bean对象,注入数据源,并在其中绑定MyBatis配置文件
- 给自己创建的接口编写一个实现类,继承SqlSessionDaoSupport类,就可以直接调用其中的getSqlSession方法。在Spring中配置一个Bean对象,为父类注入SqlSessionFactory
- 测试使用
事务管理(要成功都成功,要失败都失败):
– 声明式事务: 使用AOP切入,自动管理
– 编程式事务: 需要在代码中进行事务的管理
Original: https://www.cnblogs.com/psh1024/p/15931913.html
Author: IT-Small-White
Title: Spring核心知识概述
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/569303/
转载文章受原作者版权保护。转载请注明原作者出处!