- Spring 框架是Java应用最广的框架,优秀理念:IoC(Inversion of Control,控制反转),AOP(Aspect Orientend Programming,面向切面编程)。
- Maven 是一个项目管理和综合工具。Maven 提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven 使用标准的目录结构和默认构建生命周期。
在多个开发团队环境时,Maven 可以设置按标准在非常短的时间里完成配置工作。由于大部分项目的设置都很简单,并且可重复使用,Maven 让开发人员的工作更轻松,同时能够创建报表,检查、构建和测试自动化设置。
Maven 简化和标准化项目建设过程,处理编译,分配,文档,团队协作和其他任务的无缝连接。 Maven 增加可重用性并负责建立相关的任务。 - 控制反转IOC(Inversion of Control ),在 Java 开发中, Ioc 意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。
Bean理解,IoC理解 - Spring Bean 的生命周期,下面以BeanFactory为例,说明一个Bean的生命周期活动
Bean的建立, 由BeanFactory读取Bean定义文件,并生成各个实例
Setter注入,执行Bean的属性依赖注入
BeanNameAware的setBeanName(), 如果实现该接口,则执行其setBeanName方法
BeanFactoryAware的setBeanFactory(),如果实现该接口,则执行其setBeanFactory方法
BeanPostProcessor的processBeforeInitialization(),如果有关联的processor,则在Bean初始化之前都会执行这个实例的processBeforeInitialization()方法
InitializingBean的afterPropertiesSet(),如果实现了该接口,则执行其afterPropertiesSet()方法
Bean定义文件中定义init-method
BeanPostProcessors的processAfterInitialization(),如果有关联的processor,则在Bean初始化之前都会执行这个实例的processAfterInitialization()方法
DisposableBean的destroy(),在容器关闭时,如果Bean类实现了该接口,则执行它的destroy()方法 -Bean定义文件中定义destroy-method,在容器关闭时,可以在Bean定义文件中使用“destory-method”定义的方法 - 自动注解注释类型,自动扫描组件的注释类型有 4 种注释类型,分别是:
@Component ——表示一个自动扫描 component
@Repository ——表示持久化层的 DAO component
@Service ——表示业务逻辑层的 Service component
@Controller ——表示表示层的 Controller component
所谓自动装配,就是将一个 Bean 注入到其他 Bean 的 Property 中
Spring 支持 5 种自动装配模式,如下:
no —— 默认情况下,不自动装配,通过 ref attribute 手动设定。
byName —— 根据 Property 的 Name 自动装配,如果一个 bean 的 name ,和另一个 bean 中的 Property 的 name 相同,则自动装配这个 bean 到 Property 中。
byType —— 根据 Property 的数据类型( Type )自动装配,如果一个 bean 的数据类型,兼容另一个 bean 中 Property 的数据类型,则自动装配。
constructor —— 根据构造函数参数的数据类型,进行 byType 模式的自动装配。
autodetect —— 如果发现默认的构造函数,用 constructor 模式,否则,用 byType 模式。 - Spring 框架中基于注解的配置
@Required :确保特定属性已经设置但不是所有属性
@Autowired: 可以用来装配 bean,可以写在字段上,或者方法上
@Qualifier:可以帮助你指定做更详细配置。一般在两个或者多个 bean 是相同的类型,spring 在注入的时候会出现混乱
基于 Java 的配置:定义一个配置类,用@Configuration 注解该类,等价于 XML 里的 beans,用@Bean 注解方法,等价于 XML 配置的 bean,方法名等于 bean Id,写在SpringConfig.class文件中 - Spring AOP 即 Aspect-oriented programming,面向切面编程,是作为面向对象编程的一种补充,专门用于处理系统中分布于各个模块(不同方法)中的交叉关注点的问题。简单地说,就是一个拦截器( interceptor )拦截一些处理过程。
例如,当一 个 method 被执行,Spring AOP 能够劫持正在运行的 method ,在 method 执行前或者后加入一些额外的功能。
在 Spring AOP 中,支持 4 种类型的通知( Advice ):
Before advice - method 执行前通知
After returning advice - method 返回一个结果后通知
After throwing advice - method 抛出异常后通知
Around advice - 环绕通知,结合了以上三种 - Spring 框架核心的思想就是建立一个 Java 对象的大工厂,用户只要给工厂一个指令,工厂就能将用户需要的对象根据配置文件组装好返还给用户。用户需要做的许多工作则可以写成简单的配置文件。传统的使用 JDBC 的方法,有时候需要组合复杂的的 SQL 语句,还需要去拼接,稍不注意什么空格,引号;都会导致错误。Spring Jdbc Template 正是为了减少上述的麻烦而设计出来的。它是对 JDBC 的一种封装,抽象我们常用的一些方法。Simple and Stupid 就是它的目标。
- @RequestBody 和 @RequestParam
详细解释
Spring系列基础知识
最新推荐文章于 2024-04-22 12:13:05 发布