Spring框架学习

spring-freamwork 知识点梳理:
1、IOC,控制反转
本质上就是提供一个类的完全限定名称,由spring通过反射创建对象,调用的是本身的空参构造器
spring-bean
bean标签的相关使用,属性有
id
class
name
scope
1.1 DI,依赖注入

set方式注入
property标签
构造器方式注入
constructor-arg标签
根据参数名字
根据参数位置,索引
根据参数类型,类型相同的按照顺序注入

命名空间注入:实际上就是set方式和构造器方式的简写,需要引用命名空间
p:
c:

工厂方式注入:核心是工厂的产品对象,而不是本身的工厂对象
静态工厂
工厂类中有一个静态方法返回产品对象,获得产品对象时不需要工厂对象
只需要配置factory-mehod
实例工厂
工厂类中有一个实例方法返回产品对象,获得产品对象时需要工厂对象
所以配置的时候要先配工厂bean,再配置产品bean,提供factory-method

集合属性的注入
array
list
set
map
properties

tips:在spring的配置文件xml中,引用值用value标签或属性,引用bean对象用ref标签或属性

2、AOP,面向切面编程
2.1 代理模式
目标对象 代理对象
目标对象负责执行核心功能(target)
代理对象负责对原有的目标对象的核心功能进行补充和增强(proxy)
静态代理
程序编译之前,提供好对应的代理类,产生生代理对象

动态代理
程序运行阶段,利用字节码技术,动态产生代理类的对象
JDK动态代理(主要适用于有接口实现的目标类)
Proxy
CGLIB动态代理(主要适用于没有接口实现的目标类)
Enhancer

2.2 spring的aop就实现了动态代理
切面
连接点
切入点
通知
织入
目标对象
代理对象
2.3 aop的配置
xml配置
引入aop的命名空间和xsd
配置切面类的bean
aop:aspect
aop:config
aop:pointcut
aop:advice
aop:befroe
aop:after-reutrning
aop:after
aop:throwable
aop:around
注解配置
@Aspect
@Component
@Pointcut
@Before()
2.4 aop对于事务的配置
事务的属性
传播行为
隔离级别
是否只读
超时时间
回滚规则
xml配置
引入spring-tx的命名空间和xsd
tx:tansaction-manger
tx:advisor
一般配置完事务管理器之后,需要织入到指定方法,和aop连用
注解配置
在service层上添加@Transactional

3、spring和jdbc的结合使用(java项目)
JdbcTemplate
核心思路
配置数据源的bean
配置jdbctemplate的bean
配置事务管理器的bean

4、spring和mybatis的结合使用(java项目)
SqlSessionFactoryBean
核心思路
配置数据源的bean
配置SqlSessionFactoryBean的bean
配置事务管理器的bean

5、spring和web(servlet)的结合使用(web项目)
架构 spring+mybatis+servlet
servlet 下周就会被spring-mvc所替换

核心配置思路,spring和mybatis的配置和上面一样
主要是注意web.xml的配置
上述java项目中,测试的时候都需要加载配置文件或者配置类
需要在web.xml中声明一个监听器,用来加载配置文件和配置类
第二个注意的点,要从spring容器中取出servlet对象
WebApplicationContext
xml配置
注解配置

6、总结一下三层架构中,添加注解的顺序,一定主要配置文件或配置类中要扫描注解存在的包

bean包下的注解,@Data
dao包下的注解,如果使用的是mybatis,dao包是由框架管理的,不需要添加任何注解。如果不使用mybatis需要在dao层实现类上添加@Repository
service包下的注解,要在impl的类上添加@Service,同时在类内部,@Autowired dao层对象
web包下的注解,servlet一般没有,如果使用的是mvc,@Controller,在类内部添加@Autowired service层对象

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值