您的位置:首页 > 编程语言 > Java开发

spring注解驱动开发

2019-08-10 17:23 645 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/qq_41001071/article/details/99090212

spring注解驱动开发

文章目录

容器

AnnotationConfigApplicationContext
配置类
包扫描
组件添加
@ComponentScan
@Bean
指定初始化销毁
初始化其他方式
InitializingBean(初始化设置值之后)
DisposableBean(销毁)
JSR250
@PostConstruct
@PreDestroy
BeanPostProcessor
@Configuration
@Component
@Service
@Controller
@Repository
@Conditional
@Primary
@Lazy
@Scope
@Import
ImportSelector
工厂模式
FactoryBean
&beanName获取Factory本身

组件赋值

@Value
@Autowired
@Qualifier
其他方式
@Resources(JSR250)
@Inject(JSR330,需要导入javax.inject)
@PropertySource
@PropertySources
@Profile
Environment
-Dspring.profiles.active=test

组件注入

方法参数
构造器注入
ApplicationContextAware
ApplicationContextAwareProcessor
xxxAware
AOP
@EnableAspectJAutoProxy
@Before/@After/@AfterReturning/@AfterThrowing/@Around
@Pointcut
声明式事务
@EnableTransactionManagement
@Transactional

扩展原理

BeanFactoryPostProcessor
Spring容器标准初始化之后执行(BeanPostProcessor之前),此时bean还未创建
Spring容器初始化两大步
1、加载保存和读取所有bean配置
2、按照之前的配置创建bean
BeanDefinitionRegistryPostProcessor
BeanFactoryPostProcessor子类,可自定义添加bean定义
BeanDefinetionRegistry
BeanDefinetionBuilder
ApplicationListener
@EventListener
Spring容器创建过程

web

servlet3.0
ServletContainerInitializer
Registration
ServletRegistration
FilterRegistration
ServletContext
异步请求
servlet3.0异步处理
返回Callable
返回DeferredResult

大纲图示

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: