Spring在JavaEE开发中的问题:
1) 大量的配置文件的定义;
2) 与第三方软件整合的技术问题。
而SpringBoot的出现是划时代的,SpringBoot具有以下特征:
1) 遵循“习惯优先于配置”原则,使用SpringBoot只需要很少的配置,大部分时候可以使用默认配置;
2) 项目快搭建,可无配置整合第三方框架;
3) 可完全不适用xml配置,只使用自动配置和Java Config,减少了项目的体积;
4) 内嵌Servlet(如Tomcat)容器,应用可用的jar包运行(java-jar);
5) 运行中应用状态的监控。
但记住SpringBoot任然是完全基于Spring的应用。所以学习SpringBoot前需要先了解Spring。
Spring框架本身的四大原则:
1) 使用pojo进行轻量级和最小侵入式开发。
2) 通过依赖注入和基于接口编程实现松耦合。
3) 通过AOP和默认习惯进行声明式编程。
4) 使用AOP和模板减少模式化代码。
在Spring环境下的等同的概念,控制翻转是通过依赖注入实现的。依赖注入是指容器负责创建对象和维护对象间的依赖关系,而不是通过对象本身负责自己的创建和解决自己的依赖。
Spring IoC容器负责创建Bean,通过容器将功能类Bean注入到需要的Bean中。Spring提供使用xml、注解、Java配置、groovy配置实现Bean的创建和注入。这些配置被称为配置元数据。Spring容器解析这些配置元数据进行Bean初始化、配置和管理依赖。
声明Bean的注解:
@Component组件,没有明确的角色
@Service在业务逻辑层使用
@Repository在数据访问层使用
@Contorller在展现层使用
注入Bean的注解,一般情况下通用。
@Autowired:Spring提供的注解
@Inject:JSR-330提供的注解
@Resource:JSR-250提供的注解
@Autowired、@Inject、@Resource可注解在set方法上或属性上
AOP:面向切面编程。
相对于OOP面向对象编程,AOP的存在目的是为了解耦。AOP可以让一组类共享相同的行为