spring框架以及MVC思想
一:spring框架
spring框架是一种很优秀的框架,它可以帮助开发人员简化组件与组件之间耦合,管理对象。
1:创建对象和管理对象之间的关系,可以在配置文件通过bean元素创建对象,管理对象之间的关系
则可以通过注入的方式。
2:spring可以和其他的第三方框架进行整合,比如Struts、hibernate等组成SSH框架。也可以和ibatis
或者mybatis组成框架。
二:名称解释
IOC:inversion of control控制翻转,创建对象权利的转移,将通过new对象转换为第三方容器配置。
DI:denpence injection依赖注入,通过注解的方式将需要依赖的对象注入到另一个类中,这样降低
了对象与对象之间的耦合,方便以后的扩展和维护。
三:常用注解
@Controller将该类标注为控制层,控制层是视图层和业务层的桥梁,负责接收前台的请求,并且将
后台处理数据传送给前台。
@Service将该类标注为业务层,开发人员可以在这一层编写业务逻辑,而不需要更多的关注如何
与数据库进行交互。
@Component将该类定义为DAO层,负责与数据库进行数据交互。
@RequestMapping匹配前台请求路径,可以标注在类之上,也可以标注在方法上面,然后类与方法进行
路径拼接。
@Resource对象的注入,可以将容器创建的对象直接注入到需要的类中。@Autowired是按照类型注入,而@Resource的装配顺序是如果指定名称或者没有指定时,按照名称装配;如果指定类型时,按照类型装配。
@ResponseBody这个注解很好用,是将后台需要返回的Map、list、字符串或者对象自动封装成json格式,但是后台需要引入对应的jar包,jackson-all.jar、jackson-mapping.jar等。
@Transactional这个注解标注方法为事务,保持操作的原子性,如果成功就提交;如果抛出异常,就
回滚。但是在容器的配置文件中需要配置事务。
四:MVC思想
MVC是一种设计思想,M代表model,模型。V代表view,视图,C代表controller控制层。M主要是业务层以及数据实体类。V负责与用户交互,前台jsp等。C负责调度分配作用。
从浏览器发出请求到收到响应显示在页面的顺序。
a:用户在浏览器输入请求地址:http://主机:端口/应用名/index.do,请求协议是http超文本传输协议。
b:webContent下web.xml中配置访问地址,如果默认welcome-list元素,那么访问默认页面index.jsp
如果配置servelt和server-mapping元素,那么会自动分发。
c:请求路径通过SimpleHandleMapping类自动匹配到后台的RequestMapping中的路径。如果配置MVC,那么需要配置mvc驱动。
d:在控制层调用业务层,处理完数据后,返回页面和处理完的数据。
e:页面重定向到页面和配置文件ViewRevoler的拼接,可以使用tiles框架(如果jsp页面过多的情况)
同时将数据也带过去,然后将响应返回浏览器。
f:浏览器显示给用户。