发表于: 2020-05-23 00:40:10

1 1496


今天完成的事情:

学习了一下注解注入:

之前做任务一的时候注入时没有用注解注入,当时试了一下没有成功就算了,现在打算重新学习一下。

新建一个Bean对象类,

再创建一个Test类

配置Spring的applicationContextxml

中间注释掉的部分是使用普通set注入

要使用注解注入的话就要加上

<ocntext:component-scan base-package="zhujie" />

然后在前面的对象类中添加@Repository,@Autowire等注解,如果有service层或者Controller层也可以使用@Service和@Controller,它们其实是一样的,只是更易区分。

这样就好了:

运行成功。


学习SpringMVC:

SpringMVC,是spring的一个子框架,当然拥有spring的特性,如依赖注入。MVC是web模型中一种很流行的框架,通过把Model,View,Controller分离,把较为复杂的web应用分成逻辑清晰的几部分,是为了简化开发,减少出错。还是为了组内开发人员之间的配合,总之就是一种分层工作的办法。

M代表模型(model):模型就是数据,就是dao,Bean。

V代表视图(view):就是网页, JSP,用来展示模型中的数据。

C代表控制器(Controller):控制器的作用就是把不同的数据(Model),显示在不同的视图(View)上,Servlet 扮演的就是这样的角色。


在早期 Java Web 的开发中,统一把显示层、控制层、数据层的操作全部交给 JSP 或者 JavaBean 来进行处理,我们称之为 Model1。

这样做的弊端有:

JSP 和 Java Bean 之间严重耦合,Java 代码和 HTML 代码也耦合在了一起。

要求开发者不仅要掌握 Java ,还要有高超的前端水平。

前端和后端相互依赖,前端需要等待后端完成,后端也依赖前端完成,才能进行有效的测试。

代码难以复用。


因为这种种弊端,很快这种方式就被Servlet + JSP + Java Bean 所替代了,早期的 MVC 模型(Model2)就像下图这样:




为解决持久层中一直未处理好的数据库事务的编程,又为了迎合 NoSQL 的强势崛起,Spring MVC 给出了方案:


传统的模型层被拆分为了业务层(Service)和数据访问层(DAO,Data Access Object)。 在 Service 下可以通过 Spring 的声明式事务操作数据访问层,而在业务层上还允许我们访问 NoSQL ,这样就能够满足异军突起的 NoSQL 的使用了,它可以大大提高互联网系统的性能。

特点:

结构松散,几乎可以在 Spring MVC 中使用各类视图。

松耦合,各个模块分离。

与 Spring 无缝集成。


接下来创建第一个SpringMVC程序:

首先在IDEA创建SpringMVC项目:

Idea会自动下载一些默认目录和文档:

修改Web.xml

把<url-pattern>元素的值改为 / ,表示要拦截所有的请求,并交由Spring MVC的后台控制器来处理


编辑dispatcher-servlet.xml;

这个文件名的开头 dispatcher 与上面 web.xml 中的 <servlet-name> 元素配置的 dispatcher 对应,这是 Spring MVC 的映射配置文件(xxx-servlet.xml)


编写HelloController:


修改index.jsp:


部署Tomcat:


运行出错,明天再想了,感觉找的这个教程有些问题,直接创建maven的项目导入依赖更方便


返回列表 返回列表
评论

    分享到