恐怖!这份神仙架构笔记,简直把所有spring boot的核心技术都写出来了!
目录前言一、spring boot helloworld1、那么如何写Helloworld呢?1.2Hello之New1.3Hello之Maven1.4 Hello 之 maven web1.5 Hello 之 Maven Run Application1.6 Hello 之 coding二、spring boot 返回json数据三、spring boot 常用配置3.1、修改Java编译版本四
目录
1.5 Hello 之 Maven Run Application
前言
自从 structs2 出现上次的漏洞以后,对 spring 的关注度开始越来越浓。以前 spring 开发需要配置一大堆的 xml,后台 spring 加入了 annotaion,使得 xml 配置简化了很多,当然还是有些配置需要使用 xml,比如申明 component scan 等。Spring 开了一个新的 model spring boot,主要思想是降低 spring 的入门,使得新手可以以最快的速度让程序在 spring 框架下跑起来。
一、spring boot helloworld
1、那么如何写 Hello world 呢?
1.1 Hello 之步骤:
(1)新建一个 Maven Java 工程
(2)在 pom.xml 文件中添加 Spring Boot Maven 依赖
(3)编写启动类
(4)运行程序
1.2 Hello 之 New
这个步骤很简单,相比大家都会,小编在此为了文档的完整性,稍作简单说明:
首先使用 IDE(Eclipse,MyEclipse)工具新建一个 Maven 工程,可以是 Maven Java Project,也可以是 Maven Web Project,随便取一个工程名称。我使用的是 STS,工程名是 spring-boot-hello1。
1.3 Hello 之 Maven
第二步,在 pom.xml 中引入 spring-boot-start-parent,spring 官方的解释叫什么 stater poms,它可以提供
dependency management,也就是说依赖管理,引入以后在申明其它 dependency 的时候就不需要 version 了,
后面可以看到。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.3.RELEASE<ersion>
</parent>
1.4 Hello 之 maven web
1.5 Hello 之 Maven Run Application
1.6 Hello 之 coding
二、spring boot 返回json数据
在做如下操作之前,我们对之前的 Hello 进行简单的修改,我们新建一个包 com.hpit.test.web 然后新建一个类
HelloControoler, 然后修改 App.java 类,主要是的这个类就是一个单纯的启动类。
主要代码如下:
App.java
iackage com.hpit; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* Hello world!
*/
//其中@SpringBootApplication 申明让 spring boot 自动给程序进行必要的配置,等价于以默认属性使用
//@Configuration,@EnableAutoConfiguration 和@ComponentScan
//@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
} }
com.hpit.test.web.HelloController :
package com.hpit.test.web;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController// 标记为:restful
public class HelloController {
@RequestMapping("/")
public String hello(){
return"Hello world!"; } }
运行代码和之前是一样的效果的。
我们在编写接口的时候,时常会有需求返回 json 数据,那么在 spring boot 应该怎么操作呢?主要是在 class 中
加入注解@RestController,
三、spring boot 常用配置
Spring boot 默认端口是 8080,如果想要进行更改的话,只需要修改 applicatoin.properties 文件,在配置文件中
加入:
server.port=9090
常用配置:
########################################################
###EMBEDDED SERVER CONFIGURATION (ServerProperties)
########################################################
#server.port=8080
#server.address= # bind to a specific NIC
#server.session-timeout= # session timeout in seconds
#the context path, defaults to '/'
#server.context-path=/spring-boot #修改默认访问路径
#server.servlet-path= # the servlet path, defaults to '/'
#server.tomcat.access-log-pattern= # log pattern of the access log
#server.tomcat.access-log-enabled=false # is access logging enabled
#server.tomcat.protocol-header=x-forwarded-proto # ssl forward headers
#server.tomcat.remote-ip-header=x-forwarded-for
#server.tomcat.basedir=/tmp # base dir (usually not needed, defaults to tmp)
#server.tomcat.background-processor-delay=30; # in seconds
#server.tomcat.max-threads = 0 # number of threads in protocol handler
#server.tomcat.uri-encoding = UTF-8 # character encoding to use for URL decoding
3.1、修改Java编译版本
修改 java 编译版本
Spring Boot 在编译的时候,是有默认 JDK 版本的,如果我们期望使用我们要的 JDK 版本的话,那么要怎么配置呢?
这个只需要修改 pom.xml 文件的<build> -- <plugins>加入一个 plugin 即可。
<plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target>
</configuration>
</plugin>
添加了 plugin 之后,需要右键 Maven à Update Projects,这时候你可以看到工程根目录下的 JRE System Library
版本更改了。
四、spring boot 集成JSP
这个部分比较复杂,所以单独创建一个工厂进行讲解:
大体步骤:
(1)创建 Maven web project;
(2)在 pom.xml 文件添加依赖;
(3)配置 application.properties 支持 jsp
(4)编写测试 Controller
(5)编写 JSP 页面
(6)编写启动类 App.java
1,FreeMarker
2,Groovy
3,Thymeleaf (Spring 官网使用这个)
4,Velocity
5,JSP (貌似 Spring Boot 官方不推荐,STS 创建的项目会在 src/main/resources 下有个 templates 目录,这
里就是让我们放模版文件的,然后并没有生成诸如 SpringMVC 中的 webapp 目录) 不过本文还是选择大家都熟悉的 JSP 来举例,因为使用 JSP 与默认支持的模版需要特殊处理,所以拿来举例更好
(1)创建 Maven web project
使用 Eclipse 新建一个 Maven Web Project ,项目取名为:springboot02
(2)在 pom.xml 文件添加依赖
<!-- spring boot parent 节点,引入这个之后,在下面和 spring boot 相关的就不需要引入版本了; --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.3.3.RELEASE<ersion>
</parent>
(3)application.properties 配置
(4)编写测试 Controller
(5)编写JSP页面
(6)编写启动类
五、spring boot集成junit单元测试
Junit 这种老技术,现在又拿出来说,不为别的,某种程度上来说,更是为了要说明它在项目中的重要性。
那么先简单说一下为什么要写测试用例
1. 可以避免测试点的遗漏,为了更好的进行测试,可以提高测试效率
2. 可以自动测试,可以在项目打包前进行测试校验
3. 可以及时发现因为修改代码导致新的问题的出现,并及时解决
那么本文从以下几点来说明怎么使用 Junit,Junit4 比 3 要方便很多,细节大家可以自己了解下,主要就是版本4中对方法命名格式不再有要求,不再需要继承 TestCase,一切都基于注解实现。
那么 Spring Boot 如何使用 Junit 呢?
1). 加入 Maven 的依赖;
2). 编写测试 service;
3). 编写测试类;
加入 Maven 的依赖: <dependency><groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope>
</dependency>
六、spring boot监控和管理生产环境
spring-boot-actuator 模块提供了一个监控和管理生产环境的模块,可以使用 http、jmx、ssh、telnet 等拉管理和监控应用。审计(Auditing)、健康(health)、数据采集(metrics gathering)会自动加入到应用里面。
首先,写一个最基本的 spring boot 项目。
基于 Maven 的项目添加‘starter’依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
七、spring boot 集成 Redis 缓存
本章牵涉到的技术点比较多:Spring Data JPA、Redis、Spring MVC,Spirng Cache,所以在看这篇文章的时候,需要对以上这些技术点有一定的了解或者也可以先看看这篇文章,针对文章中实际的技术点在进一步了解(注意, 您需要自己下载 Redis Server 到您的本地,所以确保您本地的 Redis 可用,这里还使用了 MySql 数据库,当然你也可以内存数据库进行测试)。
这篇文章会提供对应的 Eclipse 代码示例,具体大体的分如下几个步骤:
(1)新建 Java Maven Project;
(2)在 pom.xml 中添加相应的依赖包;
(3)编写 Spring Boot 启动类;
(4)配置 application.properties;
(5)编写 RedisCacheConfig 配置类;
(6)编写 DemoInfo 测试实体类;
(7)编写 DemoInfoRepository 持久化类;
(8)编写 DemoInfoService 类;
(9)编写 DemoInfoController 类;
(10)测试代码是否正常运行了
(11)自定义缓存 key;
新建 Java Maven Project;
这个步骤就不细说,新建一个 spring-boot-redis Java maven project;
(2)在 pom.xml 中添加相应的依赖包;
在 Maven 中添加相应的依赖包,主要有:spring boot 父节点依赖;spring boot web 支持;缓存服务 spring-contextsupport;添加 redis 支持;JPA 操作数据库;mysql 数据库驱动,具体 pom.xml 文件如下:
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLS
chema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.hpit</groupId>
<artifactId>spring-boot-redis</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>spring-boot-redis</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- 配置 JDK 编译版本. -->
<java.version>1.8</java.version>
文章到这里就结束了!
到此这篇关于spring boot的核心技术得到文章到这里就结束了,上面所阐述的技术点以及代码,小编这里以及整理成100多页的详细资料文档,下面是文档部分截图 需要领取的小伙伴可以 点我 免费领取 哦!
还有小编整理的一份大厂真题的面试资料,以及2020最新Java核心技术整理的资料集锦,需要领取的小伙伴可以 点我 免费领取 ,编程的世界永远向所有热爱编程的人开放,这是一个自由,平等,共享的世界,我始终是这样坚信的。
喜欢小编的分享可以点赞关注哦,小编持续为你分享最新文章 和 福利领取哦
更多推荐
所有评论(0)