java spring boot

举报
黄生 发表于 2022/10/04 20:06:12 2022/10/04
【摘要】 Spring Boot是Spring团队提供的一个框架,可以简化Spring应用的初始搭建过程和开发过程。它适用于全新的Spring项目,将现有的Spring项目转换为Spring Boot项目还是有一定的困难。走出第一步先去生成一个项目代码框架:带WEB的解开后,在idea里打开,用的community版本的2022.2.2maven wrapper下载比较慢,取消,用idea自带的mav...

Spring Boot是Spring团队提供的一个框架,可以简化Spring应用的初始搭建过程和开发过程。
它适用于全新的Spring项目,将现有的Spring项目转换为Spring Boot项目还是有一定的困难。

  1. 走出第一步

先去生成一个项目代码框架:带WEB的

image.png

解开后,在idea里打开,用的community版本的2022.2.2
maven wrapper下载比较慢,取消,用idea自带的

image.png

maven依赖下载也比较慢,可以找到idea安装目录的maven插件目录,配置一下mirror:

image.png

运行程序 WodedemoApplication,用浏览器访问一个请求
image.png

  1. 成为历史的EJB

1997年IBM提出了EJB。但是大公司推崇的,不一定都能成功的。
虽然程序都是使用可配置化的方式,但是要配置的东西太多,谁受的了。(所以后来有:约定大于配置)
另外RMI远程调用分布式,也不应该强制使用,它就没有缺点吗
2004年spring正式诞生,很快EJB就被抛弃了

  1. Spring框架基础

SpringBoot是基于Spring框架的。
通过依赖注入,实现控制反转。就是把类的管理权交给Spring。
从applicationContext.xml里面配置设值注入方式(也称赋值注入、Setter注入),同时写一个POJO类。另外还可以配置构造函数注入。
注解注入。更让人喜欢。就是@Autowired(自动装配,不用new了),在Spring2.5引入,它消除了getter/setter和Bean属性里的property配置,这些看起来就是枯燥和重复的。
autowired的使用场景,一般是互相依赖(调用)的类。@Repository用于标注数据访问对象DAO组件。

OOP和AOP(Aspect Oriented Program)是互补的。
AOP将分散在各个方法中的公共代码提取到一处,通过类似拦截器的机制实现代码的动态调用。OOP的特点是继承、多态和封装,利于项目管理,横向划分,而AOP可以横向串联,降低重复性,增加复用性。注解使用@Aspect。AOP还有一种使用场景就是事务的配置。

JDK5开始支持注解。Spring使用了挺多的注解。注解让程序员更轻松一点。

曾经的CGI(Common Gateway Interface),任何语言都可以用来编写CGI,只要服务器支持,比如TOMCAT就支持(当然默认注释掉了,因为过气了)
后来servlet就和JAVA一起流行做网站的时候,就是做servlet编程,那时候还没有spring之类的框架。现在有了框架,会觉得比较原始,因为spring框架里处理了这些原始,比如DispatcherServlet本质是Servlet。

  1. ssh框架

Struts2, Spring, Hibernate的组合。Struts2起控制器的作用,替代Servlet。Spring用于管理类。Hibernate做对象-DB映射(ORM)。

前端也有框架,像jquery EasyUI这样的轻的,可以叫插件,重一点像Vue,也还有更重量级的。

而Spring MVC就是要抛弃Struts2。而Hibernate过于自动化而缺少了灵活。所以SSH变化为了SSM:Spring MVC,Spring,MyBatis

手工集成框架可能会是一个繁琐的活,现在基本采用编写POM文件的方式来进行框架的集成和插件的管理,因为这是一种可插拔的,如果需要,把POM语句写入,不需要,删除即可。

  1. Spring Boot

2014年发布第一个版本,基于Spring4.0设计。集成大量框架,解决版本冲突问题。
它有了内置容器,有默认约定,不要大量的配置,提供了很多starters。还有一个,它很契合微服务、云计算的发展趋势。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。