Spring框架概念
Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。
IOC概念
IoC即控制翻转,是一个概念,是一种思想。控制反转就是将对象的控制权的转移,从程序代码本身反转到了外部容
器。把对象的创建、初始化、销毁等工作交给spring容器来做。由spring容器控制对象的生命周期。
DI依赖注入:Dependency Injection。
依赖注入DI是指程序运行过程中,若需要调用另一个对象协助时,无须在代码中创建被调用者,而是依赖于外部容器,
由外部容器创建后传递给程序。依赖注入是目前最优秀的解耦方式。依赖注入让Spring的Bean之间以配置文件的方式组织
在一起,而不是以硬编码的方式耦合在一起的。
IOC与DI的关系
IOC是一个概念,是一种思想,其实现方式多种多样。当前比较流行的实现方式之一是DI。
IOC:控制反转:将new 的过程交给spring容器去处理
构造注入
条件: 必须创建有参构造方法,同时提供无参构造方法
配置语法: 如下所示
<!--通过属性名设值-->
<bean class ="com.xxxx.xx.UserBean" id="userBean">
<constructor-arg name = "id", value="1"/>
<constructor-arg name = "name", value="东湖小区里的炒粉"/>
<constructor-arg name = "id", value="21"/>
</bean>
<!--通过属性索引设值-->
<bean class ="com.xxxx.xx.UserBean" id="userBean">
<constructor-arg index = "0", value="1"/>
<constructor-arg index = "1", value="东湖小区里的炒粉"/>
<constructor-arg index = "2", value="21"/>
</bean>
设值注入
条件: 必须创建setter方法,同时提供无参构造方法
配置语法: 如下所示
<bean class ="com.xxxx.xx.UserBean" id="userBean">
<property name= "id", value="2"/>
<property name= "name", value="东湖小区边的酒吧"/>
<property name= "age", value="22"/>
</bean>
常用注解
1.开启注解:<context : component_scan base-package = “包或类的全路径1,包或类的全路径2···” />
2.常用注解类介绍
@Component :标准一个普通的spring Bean类。
@Repository:标注一个DAO组件类。
@Service:标注一个业务逻辑组件类。
@Controller:标注一个控制器组件类。
注:这些都是注解在平时的开发过程中出镜率极高,@Component、@Repository、@Service、@Controller
实质上属于同一类注解,用法相同,功能相同,区别在于标识组件的类型。@Component可以代替 @Repository
@Service、 @Controller,因为这三个注解是被@Component标注的。