前言
什么是Spring:
Spring是一个开源的免费的框架(容器)!
Spring是一个轻量级的、非入侵式的框架!
控制反转(IOC) ,面向切面编程(AOP)!
支持事务的处理,对框架整合的支持!
总结:Spring是个轻量级的控制反转(IOC) ,面向切面编程(AOP)的框架!
一、控制反转(IOC)是什么?
在我们之前的业务中,用户的需求可能会影响我们原来的代码,我们需要根据用户的需求去修改原代码!如果程序代码量十分大,修改一次的成本代价十分昂贵!
我们使用一个Set接口实现.发生了革命性的变化!
private UserDao userDao;
//利用set进行动态实现值的注入!
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
之前是程序猿来创建对象,如:new xxxx(),控制权在程序猿手中;现在使用set注入,使得程序被动接收对象,控制权就交到客户手中。这就叫做控制反转(IOC)。
二、使用步骤
<!--使用Spring来创建对象,在Spring这些都称为Bean
类型 变量名 = new 类型();
bean = 对象(Hello) -->
<!--ioc控制反转-->
创建配置文件,创建bean(xxx),上面我们定义了一个类,他有一个属性userDao,我们可以使用Value直接赋值,也可以使用ref直接引用。
<bean id="xxx" class="com.shan.service.xxx">
<!--ref:引用Spring容器中创建好的对象
value:具体的值,基本数据类型-->
<property name="userDao" ref="xxx"/>
</bean>
public void CPXAC(){
//获取ApplicationContext,拿到Spring的容器,通过配置文件获取
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
//容器在手,天下我有,需要什么,就直接get什么
UserServiceImpl userServiceImpl = (UserServiceImpl) context.getBean("xxx");
userServiceImpl.getUser();
}
通过上下文容器获取对象,用对象调用方法。
总结
IOC本质是一种设计思想,用户的需求可能会影响我们原来的代码,我们需要根据用户的需求去修改原代码。将控制权从程序猿手中交到用户手上,需求就变得简单了。用户想要什么,就可以获得什么。大大化解了用户需求不断改变的影响。
作者有话说
博客创作不易,希望看到这里的读者动动你的小手点个赞,如果喜欢的小伙伴可以一键三连,作者大大在这里给大家谢谢了。