关于spring

1.核心

1.spring的核心是依赖注入和控制反转,这两种行为描述的是对象之间同一种轨迹,只不过对象不同角度不同,对于各自行为的定义也就不同

A对象里面引用了B对象:

1.对于A而言:在spring中它通过获取B对象的地址值来获得B对象,它称自己这种行为叫控制反转,通过地址值控制B对象,角色反转有需求依赖者反转变成掌控者

2.对于B而言,根于A对象的需求依赖它,它进行A对象的入住

3.spring 通过依赖注入的方式把对象间角色关系进行控制反转了:即需要就注入

二.作用

1.解耦:耦合度只事物之间的紧密程度,从而造成事物之间的影响程度,牵一发而动全身,或者活活给拖累死

2.目的就是提高灵活性和可维护性。

3.IoC最大的好处是什么?因为把对象生成放在了XML里定义,所以当我们需要换一个实现子类将会变成很简单(一般这样的对象都是实现于某种接口的),只要修改XML就可以了,这样我们甚至可以实现对象的热插拔(有点像USB接口和SCSI硬盘了

三:配置

A.注解的启用和创建,属性注入

1.开启注解功能

<mvc:annotation-driven>

 2.注解扫描所选择的包

<!-- 使用annotation 自动注册bean, 并保证@Required、@Autowired的属性被注入 -->
<context:component-scan base-package="com.xinwoclub.app.api">
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
<context:exclude-filter type="annotation"
expression="org.springframework.web.bind.annotation.ControllerAdvice"/>
</context:component-scan>

<!-- 自动扫描且只扫描@Controller -->
<context:component-scan base-package="com.xinwoclub.app.api.controller" use-default-filters="false">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
<context:include-filter type="annotation"
expression="org.springframework.web.bind.annotation.ControllerAdvice"/>
</context:component-scan>

B.定义JSP前后缀
1.
<!-- 定义JSP文件的位置 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".jsp"/>
</bean>


原文地址:https://www.cnblogs.com/jianyi12/p/5981508.html