关于java:sping

9次阅读

共计 1355 个字符,预计需要花费 4 分钟才能阅读完成。

spring MVC 工作原理


客户端发送申请:
前端控制器 : 拦挡客户端发送的所有申请(通过(Filter)筛选器)筛选
将后果分发给映射器
映射器通过 url 地址映射寻找相干配置 返回给 sevlet 中的 Handleer 对象
通过 Handleer 对象去匹配具体的 Controller 层的处理器
通过 Controller 调 service 层去解决具体的业务逻辑
业务解决完封装后果集通过 Model 传到前端控制器,前端控制器
将后果传给视图解析器,视图解析器会解析传过来的是什么类型(html,jsp…)
再将后果返回给客户端

spring 罕用正文

1.@Controller @Service @Component(组件)
@Component 标注为一个一般的 spring Bean 类
@Controller 标注为控制器组件类
@Service 标注一个业务逻辑组件类~~~~
标注后 依据类门路会主动扫描 当做 Bean 实例
将其交给 spring 容器治理
2.@Autowired
Spring 提供的工具(由 Spring 的依赖注入工具(BeanPostProcessor、BeanFactoryPostProcessor)主动注入。)
用于为类的属性、结构器、办法 进行注值
@Autowired
private DataSource data;
就能够通过 date 间接去调 DataSource 接口的属性和办法
@Bean
public MyService myService() {
return new MyServiceImpl();
}
@Bean 大多数用在办法上,注解用于通知办法返回值,产生一个 Bean 对象,而后这个 Bean 对象交给 Spring 治理。产生这个 Bean 对象的办法 Spring 只会调用一次,

@Bean 和 Spring 的 XML 文件中的十分相似
<bean id=”myService” class=”com.acme.services.MyServiceImpl”
相似 kv 对模式

@RequestMapping

用来映射 web 申请(拜访门路和参数),解决类和办法的。能够注解在类和办法上,注解在办法上的

@RequestMapping(“abc”)等价于 http://localhost:8080/abc

Spring IOC 管制反转

把创建对象的权力交给框架。
new 对象,会进步类和类之间的依赖关系,即代码之间的耦合性。
通过 springIOC 去创建对象升高了代码的耦合性

springIOC 原理

1. 获取 spring 的外围容器对象_
容器就会扫描 ”applicationContext.xml 外围配置文件
读取到 <bean>

2.applicationContext.xml 中会配置

<bean id="empService" class="com.tedu.service.EmpServiceImpl"></bean>

获取到 class 属性中类的全门路,利用反射创立该类的对象
通过 spring 的外围容器获取 EmpService 接口的子类实例
返回值是 Object 所以要强转

3. 输入就失去了实现类的地址值
利用 xml 文件配置 将实现类交给 spring 创立 治理
如果前面实现类须要批改
就能够间接在 xml 配置中改

4. 不须要本人创立,而是通过框架间接获取即可
省去了 new 对象的过程,天然就升高类和类之间的依赖关系
就升高了耦合性

正文完
 0