1.Spring是什么?特性?有哪些模块?
Spring是一个轻量级、非入侵式的控制反转Ioc和面向切面AOP的框架。
特性:
1.Ioc和DI
Spring的核心就是一个大的工厂容器,可以维护所有对象的创建和依赖关系,Spring工厂用于生成Bean,并且管理Bean的生命周期,实现高内聚低耦合的设计理念。
2.AOP编程
Spring提供面向切面编程,可以方便实现对程序进行权限拦截、运行监控等切面功能。
3.声明式事务的支持
支持通过配置来完成对事务的管理,而不需要通过硬编码的方式,以前重复的一些事务提交、回滚的JDBC代码,都可以不用自己写了。
主要的七大模块:
1.Spring Core:Spring的核心,它是框架最基础的部分,提供Ioc和依赖注入DI特性。
2.Spring Context:Spring上下文容器,它是BeanFactory功能加强的一个子接口。
3.Spring Web:提供Web应用开发的支持。
4.Spring MVC:针对Web应用中MVC思想的实现。
5.Spring DAO:提供JDBC抽象层,简化了JDBC编码,同时,编码更具有健壮性。
6.Spring ORM:支持用于流行的ORM框架的整合,比如:Spring + Hibernate、Spring + iBatis、Spring + JDO的整合等。
7.Spring AOP:即面向切面编程,提供了与AOP兼容的编程实现。
2.Spring常用的注解
Spring 提供了大量的注解来简化 Java 应用的开发和配置,主要用于 Web 开发、往容器注入 Bean、AOP、事务控制等。
Web开发方面注解:
- @Controller
- @RestController
- @RequestMapping
容器类注解:
- @Compont
- @Service
- @Repository
AOP方面注解:
- @Aspect
- @After
- @Before