spring是一个开源的轻量级Java开发应用框架,可以简化企业级应用开发。spring解决了开发者在javaee开发遇到的许多常见的问题,提供了功能强大的IOC、AOP及Web MVC等功能。是当前Java开发几乎不能缺少的框架之一。spring的生态及其完善,不管是spring哪个领域的解决方案都是依附于spring Framework基础框架的。
而spring的三大思想分别如下:
IOC思想:Inversion of control,控制反转,强调的是原来在程序中创建Bean的权利反转给第三方。在传统开发模式中,我们需要这个对象的话,需要直接new出自己所需要的对象,也就是所依赖的对象由自己控制。而有了IOC容器后,我们将所需要的对象直接注入到IOC容器里,不需要直接创建对象,当我们需要时,我们可以直接从容器中获取相应的对象。也就是说我们将所需要的对象交给第三方管理,当我们需要时,我们不需要直接创建对象,我们可以从第三方那里获取自已所需要的对象。
DI思想:Dependency Injection,依赖注入,强调Bean之间的关系,这种关系第三方负责去设置。也就是说DI思想是用来实现松耦合,以便于开发测试。
例当我们需要一个Java实例时,我们不需要自己创建,而是交给spring容器去帮我们创建,然后注入调入者。
@Service
public class CheckingInServiceImpl implements CheckingInService{
@Autowired
private Checking_inMapper checking_inMapper;
@Override
public CheckingData getChecking_inById(int id) {
CheckingData checking_inById = checking_inMapper.getChecking_inById(id);
return checking_inById;
}
@Override
public int delete(Long uid) {
int delete = checking_inMapper.delete(uid);
return delete;
}
@Override
public List<CheckingData> getallfiles() {
List<CheckingData> getallfiles = checking_inMapper.getallfiles();
return getallfiles;
}
}
当我们调用时,不需要再自己创建了,直接如下:
@Autowired
CheckingInServiceImpl checkInServiceImpl;
aop思想:ASpect Oriented Programming,面向切面编程,功能的横向抽取,主要实现方式Proxy。它是面向对象编程oop的升华。oop是纵向对一个事物的抽象,一个对象包括静态的属性信息,包括动态的方法信息等。而aop是横向的对不同事物的抽象,属性与属性、方法与方法、对象与对象都可以组成一个切面,而用这种思维去设计编程的方式叫做面向切面编程。