spring in action解读一

一. spring两大核心特性依赖注入(dependency injection, DI)和面向切面编程(aspect-oriented programming, AOP)
1. 依赖注入:我的理解就是面向接口编程,无须关注本身的实现。
2. 面向切面:就是对一些公共逻辑统一处理,业务逻辑无须关注与其业务无关的逻辑。交给切面去统一处理。
这里写图片描述
二. spring容器
按着类型大致分为2种:
1. bean工厂(BeanFactory)
2. 应用上下文(ApplicationContext)想比之下,应用上下文建立在BeanFactory之上,提供应用框架级别的服务。
下面我着重讨论下应用上下文:
AnnotationConfigApplicationContext:从java配置类加载spring上下文配置
AnnotationConfigWebApplicationContext:从java配置类中加载springweb上下文配置
ClassPathXmlApplicationContext:从类路径下加载xml配置文件
FileSystemXmlapplicationcontext:从文件系统下的xml配置文件加载上下文配置
XmlWebApplicationContext:从web应用下的xml配置文件加载上下文配置
三. bean的生命周期

这里写图片描述
⚠️:这完全取决你自己的业务场景,需要就实现,并不是串行都要实现的过程
四. bean的装配
1. 在xml中进行显式配置
2. 在java中进行显示配置
3. 隐式的bean发现机制和自动装配

创建可被发现的bean
@Component 表明该类作为组件类
@ComponentScan 默认会扫描与配置类相同的包(xml:)
basePackages= {“system”,”file”} 这是string类型,重构代码会错还不容易发现
basePackageClasses={“a.class”,”b.class”} 针对多个配置类,最好使用该方式
@Configuration 标明该类为配置类

为组件扫描的bean命名
@Component给定的ID默认是该类类名的第一个字母变成小写。当然可以显示的指定value,但是得保证唯一
@Named 大致和@Component用法相同

自动装配
@Autowired 可以用在构造器、set方法、申明对象上、还有其他方法。因为@Autowired是spring特有的注解,也可以使用@Inject

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值