Spring Boot
程序员文章站
2022-03-04 13:49:03
...
Spring Boot 是微服务中最好的 Java 框架.
问题一 Spring Boot、Spring MVC 和 Spring 有什么区别?
SpringFramework 最重要的特征是依赖注入。所有 SpringModules 不是依赖注入就是 IOC 控制反转。
Spring MVC 提供了一种分离式的方法来开发 Web 应用。通过运用像 DispatcherServelet,
MoudlAndView 和 ViewResolver 等一些简单的概念,开发 Web 应用将会变的非常简单。
Spring 和 SpringMVC 的问题在于需要配置大量的参数。
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>/WEB-INF/views/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
<mvc:resources mapping="/webjars/**" location="/webjars/"/>
如果你想开发一个 web 应用程序或者是公开 REST 服务的应用程序。Spring Boot Start Web 是首选。
让我们使用 Spring Initializr 创建一个 Spring Boot Start Web 的快速项目。
Spring Boot Start Web 的依赖项
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
依赖项可以被分为
1.Spring - core,beans,context,aop
2.Web MVC - (Spring MVC)
3.Jackson - for JSON Binding
4.Enbedded Servlet Container - Tomcat
5.Logging - logback,slf4j
6.任何经典的 Web 应用程序都会使用所有这些依赖项。Spring Boot Starter Web 预先打包了这些依赖项。
Spring Boot 还提供了其它的哪些 Starter Project Options?
1.spring-boot-starter-web - Web 和 RESTful 应用程序
2.spring-boot-starter-jdbc - 传统的 JDBC
3.spring-boot-starter-security - 使用 SpringSecurity 进行身份验证和授权
4.spring-boot-starter-data-rest - 使用 Spring Data REST 公布简单的 REST 服务
Spring 是如何快速创建产品就绪应用程序的?
Spring Boot 致力于快速产品就绪应用程序。为此,它提供了一些譬如高速缓存,日志记录,监控和嵌入式
服务器等开箱即用的非功能性特征。
Spring2 和 Spring5 所需要的最低 Java 版本是什么?
Spring Boot 2.0 需要 Java8 或者更新的版本。Java6 和 Java7 已经不再支持。
什么是嵌入式服务器?我们为什么要使用嵌入式服务器呢?
思考一下在你的虚拟机上部署应用程序需要些什么。
第一步: 安装 Java
第二部: 安装 Web 或者是应用程序的服务器(Tomat/Wbesphere/Weblogic 等等)
第三部: 部署应用程序 war 包
让我们来思考如何使服务器成为应用程序的一部分?
你只需要一个安装了 Java 的虚拟机,就可以直接在上面部署应用程序了,是不是很爽?
这个想法是嵌入式服务器的起源。
对于一个 Spring Boot 应用程序来说,你可以生成一个包含 Embedded Tomcat 的应用程序 jar。
你就可以想运行正常 Java 应用程序一样来运行 web 应用程序了。
嵌入式服务器就是我们的可执行单元包含服务器的二进制文件(例如,tomcat.jar)。
如何在 Spring Boot 中添加通用的 JS 代码?
在源文件夹下,创建一个名为 static 的文件夹。然后,你可以把你的静态的内容放在这里面。
例如,myapp.js 的路径是 resources\static\js\myapp.js
<script src="/js/myapp.js"></script>
{
"timestamp": 1488656019562,
"status": 401,
"error": "Unauthorized",
"message": "Full authentication is required to access this resource.",
"path": "/beans"
}
方法 1:关闭安全验证
application.properties
management.security.enabled:FALSE
我们能否在 spring-boot-starter-web 中用 jetty 代替 tomcat?
在 spring-boot-starter-web 移除现有的依赖项,并把下面这些添加进去。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
RequestMapping 和 GetMapping 的不同之处在哪里?
1.RequestMapping 具有类属性的,可以进行 GET,POST,PUT 或者其它的注释中具有的请求方法。
2.GetMapping 是 GET 请求方法中的一个特例。它只是 ResquestMapping 的一个延伸,目的是为了提高
清晰度。
JPA 和 Hibernate 有哪些区别?
1.JPA 是一个规范或者接口
2.Hibernate 是 JPA 的一个实现
我们如何连接一个像 MYSQL 或者 orcale 一样的外部数据库?
第一步 - 把 mysql 连接器的依赖项添加至 pom.xml
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
第二步 - 从 pom.xml 中移除 H2 的依赖项
<!--
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>test</scope>
</dependency>
-->
第四步 - 配置你的 MySQL 数据库连接
配置 application.properties
spring.datasource.url=jdbc:mysql://localhost:3306/todo_example
spring.datasource.username=todouser
spring.datasource.password=YOUR_PASSWORD
Spring Boot 配置的默认 H2 数据库的名字是上面?为什么默认的数据库名字是 testdb?
在 application.properties 里面,列出了所有的默认值
spring.datasource.name=testdb # Name of the datasource.
Spring boot整理
1、什么是springboot
1.用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置(properties或yml文件)
2.嵌入的Tomcat 无需部署war文件
3.简化maven配置
4.spring boot来简化spring应用开发,约定大于配置,去繁从简
2、Spring Boot有哪些优点?
1.快速创建独立运行的spring项目与主流框架集成
2.使用嵌入式的servlet容器,应用无需打包成war包
3.starters自动依赖与版本控制
4.大量的自动配置,简化开发,也可修改默认值
5.准生产环境的运行应用监控
3、如何重新加载Spring Boot上的更改,而无需重新启动服务器?
Spring Boot有一个开发工具(DevTools)模块,它有助于提高开发人员的生产力。Java开发人员面临的一个
主要挑战是将文件更改自动部署到服务器并自动重启服务器。
6、如何集成Spring Boot和ActiveMQ?
对于集成Spring Boot和ActiveMQ,我们使用spring-boot-starter-activemq依赖关系。 它只需要很少的
配置,并且不需要样板代码。
7、springboot常用的starter有哪些
1.spring-boot-starter-web 嵌入tomcat和web开发需要servlet与jsp支持
2.spring-boot-starter-data-redis redis数据库支持
3.spring-boot-starter-data-solr solr支持
4.mybatis-spring-boot-starter 第三方的mybatis集成starter
8、springboot自动配置的原理
在spring程序main方法中 添加@SpringBootApplication或者
@EnableAutoConfiguration 会自动去maven中读取每个starter中的spring.factories文件
该文件里配置了所有需要被创建spring容器中的bean
9、springboot读取配置文件的方式
springboot默认读取配置文件为application.properties或者是application.yml
10、springboot集成mybatis的过程
添加mybatis的starter maven依赖org.mybatis.spring.boot mybatis-spring-boot-starter
在mybatis的接口中 添加@Mapper注解,在application.yml配置数据源信息.
上一篇: 介绍 Mysql-InnoDB 事物学习
下一篇: Node.js怎么卸载?