什么是bean的自动装配,有哪些方式?
开启自动装配,只需要在xml配置文件中定义“autowire”属性。
autowire属性有五种装配的方式:
no – 缺省情况下,自动配置是通过“ref”属性手动设定 。
byName-根据bean的属性名称进行自动装配。
byType-根据bean的类型进行自动装配。
constructor-类似byType,不过是应用于构造器的参数。如果一个bean与构造器参数的类型形
同,则进行自动装配,否则导致异常。
autodetect-如果有默认的构造器,则通过constructor方式进行自动装配,否则使用byType方式
进行自动装配。
@Autowired自动装配bean,可以在字段、setter方法、构造函数上使用。
springmvc、springBoot
<bean id="cutomer" class="com.xxx.xxx.Customer" autowire="" />
手动装配:以value或ref的方式明确指定属性值都是手动装配。
需要通过‘ref’属性来连接bean。
Cutomer的属性名称是person,Spring会将bean id为person的bean通过setter方法进行自动装
配。
<bean id="cutomer" class="com.xxx.xxx.Cutomer" autowire="byName"/>
<bean id="person" class="com.xxx.xxx.Person"/>
Cutomer的属性person的类型为Person,Spirng会将Person类型通过setter方法进行自动装配。
<bean id="cutomer" class="com.xxx.xxx.Cutomer" autowire="byType"/>
<bean id="person" class="com.xxx.xxx.Person"/>
Cutomer构造函数的参数person的类型为Person,Spirng会将Person类型通过构造方法进行自动装
配。
<bean id="cutomer" class="com.xxx.xxx.Cutomer" autowire="construtor"/>
<bean id="person" class="com.xxx.xxx.Person"/>
如果有默认的构造器,则通过constructor方式进行自动装配,否则使用byType方式进行自动装配。
Spring MVC
spring是一个IOC容器,用来管理Bean,使用依赖注入实现控制反转,可以很方便的整合各种框架,提
供AOP机制弥补OOP的代码重复问题、更方便将不同类不同方法中的共同处理抽取成切面、自动注入给
方法执行,比如日志、异常等
springmvc是spring对web框架的一个解决方案,提供了一个总的前端控制器Servlet,用来接收请求,
然后定义了一套路由策略(url到handle的映射)及适配执行handle,将handle结果使用视图解析技术
生成视图展现给前端
springboot是spring提供的一个快速开发工具包,让程序员能更方便、更快速的开发spring+springmvc
应用,简化了配置(约定了默认配置),整合了一系列的解决方案(starter机制)、redis、
mongodb、es,可以开箱即用