Spring Boot 快速上手:从 Maven 到第一个 Controller

快速构建Spring Boot 1.5.8 maven Web 项目 本文讲述如何快速构建基于spring boot 1.5.8的maven项目 阅读详情

资料下载

本博客内容相关下载资料都放在我整理的博客里面了,大家可以自取!!!!

👉 [JavaEE 学习资料下载](https://gitee.com/chasing-dramas/java-ee-learning-resources)

目录

1,认识Maven

2,Maven当中的核心文件

3,创建一个Spring Web接口

一,认识Maven

1.基础知识引入

在真正开始写 Spring Boot 代码之前,我们先接触了一个东西:

Maven

很多刚开始学 Spring 的同学都会有一个疑问:

我明明是来学 Spring 的,为什么老师先给我讲 Maven?
Maven 到底跟 Spring 有什么关系?

其实原因非常简单:

Spring 项目需要很多别人已经写好的 Java 代码,而 Maven 就是专门帮我们把这些代码下载、管理、组织起来的。

假设我们写一个Spring Boot 项目代码中可能会出现@RestController和@RequestMapping这些

@RestController
public class HelloController {

    @RequestMapping("/hello")
    public String hello() {
        return "Hello Spring Boot";
    }
}

这些都是Spring框架提供的代码,所以你想使用得提前拥有Spring的那些.jar文件,所以Maven就出现了,这个就是帮我们将这些代码下载下来并且组织起来,这些代码主要是放在Maven仓库里面的,所以Spring 负责提供功能,Maven 负责把 Spring 需要的代码下载并管理起来,通过pom.xml配置获取jar包,而不需要手动添加jar包

2.Maven的创建

我们通过这样的方式就可以先创建一个Maven

3. Maven Lifecycle

因为我们往往写完一个项目之后,不仅仅写完代码就可以了,还需要编译,测试,打包,最后再是运行发布,所以Maven就给我们提供了一套统一的项目构建方式

在我们创建完之后,再右边的Maven面板中会看到类似下面这样图的结构,我们来先了解一下我们可能会用到的

clean:清除之前编译产生的文件。

compile:编译代码,将.java编译为.class

test:运行测试代码

package:把项目进行打包,可以是jar包,也可以是war包

4,Maven仓库

(1),本地仓库

这个就在你的电脑里面,一般在c盘用户名下面,例如这样:

(2),中央仓库

Maven官方维护的一个远程仓库,大量的Java库都会发布到这里

(3),私服

一般是公司自己搭建的Maven仓库,连接了一些公司自己的项目

二,Maven当中的核心文件

1,pom.xml文件

在我们创建完Maven项目之后,会看到一个pom.xml文件,里面就放当前项目需要的东西清单,我们用一个例子来说明一下,下面这个代码就是放在pom.xml文件里面的

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

1. <dependency>:表示声明了一个依赖,告诉Maven我要什么jar包

2,<groupId>:这个依赖是出自谁家的,属于哪个组织的,像是一个坐标

3,<artifactId>:这个组织下面具体要哪个东西,像是坐标之下的具体事物

当我们的依赖下载下来之后,就会保存在一个我们本地的仓库,一般就是我们的.m2文件里面,大致的过程就像这样

pom.xml
   ↓
Maven
   ↓
网上的 Maven 仓库
   ↓
下载依赖
   ↓
D:\Maven\.m2\repository
   ↓
项目使用

2,setting.xml文件

我们还配置了一个这个文件,这个文件是告诉Maven本身该如何去工作,你们可以通过我前面的仓库去下载一个通过阿里云镜像的一个setting,因为我们一般这些依赖都是在国外的,所以我们的下载速度会很慢,但是你配置了我这个会更快一些,具体这个文件最好是是放在和.m2文件一块的

3,怎么理解依赖:

你的代码想完成某个功能,需要用到别人已经写好的代码,这个“别人写好的代码”就是你的依赖,所以我们Maven很重要的一个作用就是依赖管理,将这些依赖管理起来

(1)依赖传递

就是当我的项目依赖B,,但是B有依赖C,我们只需要告诉Maven需要B,这样它就会把C一起下载下来

(2)依赖排除

就是还是刚刚那个情况,当我们不需要B顺带进来的那个依赖C的时候,我们就可以通过下面的代码将C排除出去

<exclusions>
    <exclusion>
        ...
    </exclusion>
</exclusions>

(3)依赖冲突

当我们项目依赖B和C,但是B依赖1.0版本的D,C依赖2.0版本的D,那我们这个时候就会产生冲突,究竟需要哪一个版本的D,这个时候我们讲究一个原则,就是优先选择依赖路径较短的版本,就比如:

A → B → C → X 1.0

A → D → X 2.0

我们就先选择2.0版本的,那我来介绍一个好用的插件,方便我们管理以及检查冲突,跟着我的步骤来安装插件:

在我们下载完成之后,点击下面红色框内的按钮就可以进行查看

4,修改Maven文件目录

我们的Maven本地仓库文件一般在c盘用户底下,叫.m2,可以找一下,因为后续会有更多的依赖引进来,所以我们最好将这个文件挪到自己d盘创建的文件夹下面,避免c盘空间过多的占用,我们前面的setting就可以放在m2点击进去的一个目录下面

m2文件夹点击进去,并将setting放在这里

接下来修改Maven配置的目录,我们将我们c盘下面的m2文件夹整个复制下来,然后粘贴到d盘

两个修改完成就像我这样

我们这个修改一般是两部分,一个是当前的代码,一个是之后的代码

只是设置了当前的代码,要想之后也有这个设置就需要这样做

点击之后依旧把这两个设置修改一下,那两个√也是要点上

三,Spring Boot项目创建

spring boot是什么

先有 Spring,为什么还要有 Spring Boot?spring已经是一个很强大的Java开发框架了,但是早期直接使用spring会出现一个问题:就是卑职很多,入门成本高,所以就出现了spring boot,这个出现就是为了简化spring程序开发的,我们可以将这个理解为spring的脚手架,方便搭建,spring boot并不是代替spring,而是为了让spring更方便使用,我们创建 Spring Boot 项目时,它会通过依赖把 Spring 相关组件带进来

1,前期准备

接下来就开始写spring项目,我们社区版本的话就好安装一个插件,方便我们创建项目的,也就是我们在new的时候就可以直接在那里穿件项目,这个插件叫spring-assistant,我们通过刚刚在插件市场寻找的是没有效果的,我们需要一个老版本的,我将这个插件打包成了一个jar包来供你们使用,也在我的仓库里面,并且你要保证你的idea版本的2021-2022

将这个jar包下载下来之后,放在一个盘下面,不要解压,通过我一步一步来进行安装

这两个市场的插件都是无用的

在安装完成之后可以这样进行一个验证,看看你new的时候左边有没有这个spring Intitializr,接下来我们来直接创建一个简单的接口,具体步骤也是跟着我来

点击next

第一个是你的组名,第二个是你的一个项目名称,这些名称可以自己填写,这里的project type要改成Maven,下面的版本都不变,我们输入之后点击next

我们先选择上面的版本,就选择纯数字的,并且最好版本居中,不要最老的,也不要最新的,然后点击web,点击spring web,点击next

这里填写一个名称,并且这里看目录后面是跟着名称的

点击红色框内的load,下载Maven环境

这里有两个问题,一个是版本写错了,一个是找不到Maven,(这些问题都是社区版本通过上面的创建可能会出现的问题)我们先来解决第一个问题,找到pom.xml文件的版本位置,将这个改成你刚刚选择的版本

然后是第二个,进入setting,修改maven home path(这个就是最开始创建的时候project type没有改成Maven导致的)

2,如何看目录

在我们创建完一个spring boot项目之后,左边的项目目录是这样的,里面该如何去看

java:放Java源代码,以后大量的controller以及各种Java类都会放在这里

resources:static主要放html,css,JavaScript这些静态资源,templates只要用于模版资源

target:当你运行DemoApplication程序之后,就会出现这个,这个是项目编译,构建以后产生的内容

pom.xml:这个就是maven的配置文件

3,这里到底启动了什么

当我们点击启动之后,很多人会觉得,不就是跟以前一样,也只是开了一个main方法吗,这里和之前写的main最大的区别就是web服务器也启动,程序开始监听端口,然后等待服务器请求

4,写第一个Controller

controller是什么:这个就相当于是一个浏览器(前端)进入Java后端的一道入口,以前就单纯写一个慢方法,但是现在是要浏览器发送请求--controller--Java方法--执行代码--返回结果--浏览器

接下来我们先在这个红色框的目录下,创建一个Java类,命名为controller

package com.example.demo;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class UserController {

    @RequestMapping("/sayHi")
    public String sayHi() {
        return "hello,Spring";
    }
}

我们现在一一来解释一下

@RestController:这个就相当于是告诉spring boot:它是专门用来接收 Web 请求的 Controller,相当于是给类贴了一个类似负责处理浏览器请求的标签

@RequestMapping:这个就是当我们浏览器访问sayHi这个网页的时候,返回对应的sayHi方法

我们写完就可以启动了,我们启动还是在DemoApplication里面,因为这个类是负责将整个项目启动起来,我们写的是启动起来之后怎么处理请求,所以DemoApplication更像是总开关,Controller是每个模块的负责人

这个暂时需要我们自己手动去浏览器里面输入网址:127.0.0.1:8080/sayHi去测试

今天先简单的进行一个了解,完整的流程相当于是这样的:

你在浏览器输入
http://127.0.0.1:8080/sayHi

        ↓

浏览器:
我要通过 HTTP
访问 127.0.0.1 这台电脑
的 8080 端口
里面的 /sayHi

        ↓

Spring Boot / Tomcat 收到请求

        ↓

找到:

@RequestMapping("/sayHi")

        ↓

执行:

sayHi()

        ↓

return "hello,Spring"

        ↓

浏览器显示:

hello,Spring

接下来更多的知识点将在下一个博客进行展示!!

U盘文件变exe?3步教你用火绒+批处理脚本恢复隐藏文档(附注册表修复) 本文详细解析了U盘文件被病毒隐藏并伪装成exe文件的原理,并提供了三步解决方案:首先使用火绒安全软件进行全盘查杀清除病毒;其次通过批处理脚本批量恢复被隐藏的文件属性;最后修复被篡改的注册表设置,彻底解决文件无法显示的问题,帮助用户安全找回数据并加固系统防护。 阅读详情

相关推荐

自动控制原理之控制系统的数学模型(类比神经网络学习数学模型)

控制系统的数学模型背景建模方法常用的数学模型时域数学模型的建立建立微分方程的步骤复数域模型的建立传递函数的性质系统的典型环节及传递函数比例环节惯性环节积分环节微分环节理想微分环节一阶微分环节二阶微分环节振荡环节延时环节(时滞环节) 背景 数学模型就像是真实世界的写照,它就像一个虚拟的世界,我们可以通过建模的方式了解这个真实世界的运作规律。 这一点很像强化学习,强化学习需要一个供智能体探索、学习的环境,于是,我们通常会事先建立一个虚拟的仿真环境。举个例子,对于人类来说,可能需要经过不断地尝试,甚至是生命的代价

zbp_12138的博客 6578

如何快速搭建 Spring Boot 项目本文以 Spring Boot(下文简称 Spring Boot)为核心,带你从环境准备、项目创建、核心配置、运行验证一路走通,适合刚接触 Spring

本文详细介绍了如何从零开始快速搭建一个 Spring Boot 项目,适合初学者和希望高效启动新项目的开发者。文章首先阐述了 Spring Boot 的优势与核心理念——“约定优于配置”,随后从环境准备、项目创建(通过 Spring Initializr 或 IDEA 脚手架)、配置文件编写、依赖管理、控制器编写到项目启动进行全流程讲解,并附带代码示例与实践建议。 此外,文章还提供了项目优化方向,包括多环境配置、统一异常处理、日志管理和打包部署等实用技巧,帮助读者构建结构清晰、可维护性强的企业级项目。通过阅

2402_88947063的博客 892

GNSS差分码偏差(DCB)从原理到实战:如何避免数据处理中的常见错误

本文深入解析GNSS差分码偏差(DCB)的原理及其对高精度定位的关键影响。针对数据处理中因忽略DCB校正导致的常见错误,如单系统PPP高程偏差、多系统融合精度下降及电离层研究失真等,提供了实战解决方案与主流DCB产品获取、集成方法,帮助用户有效规避陷阱,提升数据处理精度。

k5l6m的博客 224

Spring Boot(一)使用MyEclipse创建Spring Boot项目

第一步:File-New-Other创建maven项目:第二步:注意勾选create a simple project(skip archetype selection)//创建一个简单的项目跳过原型选择第三步:groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。Group Id ...

张小洛的BOLG 8309

关于示波器测485串口波特率的使用方法总结

之前没有用过示波器,更不知道怎么来测试串口的波特率,结果遇到一客户说我们产品的波特率达不到9600,只有9100,为了验证这一说法,我们只能自己测试一下。说明:产品通过485接电脑,用串口调试助手接收都是没有问题的,用客户的设备接收就有问题。 下面说一下示波器测波特率的方法步骤: 显示高低跳变的情况: 1.先把示波器表笔的地线(夹子)夹485B,表笔夹485A。 2.往串口发送数据:如发送

lianxue1986的专栏 3万+

Blender点云渲染实战:用Geometry Nodes快速搞定论文配图(附Cycles渲染技巧)

本文详细介绍了如何利用Blender的Geometry Nodes系统,高效地将三维点云数据转化为高质量的科研论文配图。通过实战步骤,从数据导入、节点化几何处理、材质赋予到Cycles渲染引擎的优化设置,手把手教你制作出专业、美观的可视化图像,助力科研成果展示。

hp777的博客 266

Spring boot第一个项目

第一个Springboot项目一、pom.xml的配置二、Controller类三、SpringApplication四、打开火狐或谷歌浏览器 #Springboot 的要求 Maven 3.3+ jdk 1.8-14 idea 2019+ 一、pom.xml的配置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns

weixin_51614089的博客 125

STM32F103C8T6+TB6612驱动直流电机全攻略(附PWM调速代码)

本文提供了一份基于STM32F103C8T6微控制器和TB6612驱动模块的直流电机驱动完整解决方案。详细解析了硬件连接、STM32CubeMX配置、HAL库驱动代码编写,并附带了PWM调速代码实现。内容涵盖从基础原理到实战调试的全过程,旨在帮助开发者快速构建稳定、可精准调速的电机控制系统,适用于智能车、机器人等嵌入式项目。

weixin_29181861的博客 586

springboot第一个helloworld

一、springboot入门 1.配置eclipse环境 Jdk1.8、maven 2.生成springboot工程demo 进入https://start.spring.io/,选择相应选项后,点generate生成 3.在eclipse引入demo工程 按照maven工程引入 4.查看主程序 package com.popz.popz01; import org.springframework.boot.SpringApplication; import org.springframework.bo

weixin_42058359的博客 252

11、RK3566/3568 Android11切割屏幕 长条屏 显示

在使用 RK3566 平台进行 Android 11 开发时,遇到切割屏(长条屏)显示画面不全。本文将详细介绍如何配置,以及如何修改 HWComposer 来调整显示区域,解决图像缩放问题。我这边屏幕是lvds接口的,分辨率1920 1080实际的屏物理尺寸是1920x463。

qq_39451352的博客 261

【DEIM创新改进】独家下采样创新改进篇 | ECCV 2026 | DEIM 引入FSD-Down频域-空间动态下采样,在下采样过程中保留小目标的高频信息、助力小目标检测、遥感小目标检测有效涨点

🔥本文提出了一种名为FSD-Down的频域-空间动态下采样模块,用于改进DEIM网络模型在小目标检测中的性能。FSD-Down通过小波分解显式保留低频语义和高频细节,结合分组卷积、动态通道权重和可学习缩放因子,自适应强化目标边缘与纹理特征。该模块能有效减轻传统下采样造成的频率混叠和细节丢失,提升对小目标、密集目标和低对比度目标的检测能力。实验表明,FSD-Down计算开销可控,在保持实时性的同时显著提升检测精度,特别是在VisDrone和AITODv2数据集上对小目标的检测性能提升显著。

Ai缝合怪、助力小伙伴高效发论文 82

spring-boot工程搭建及简单测试(Maven项目)

spring-boot工程搭建及简单测试(Maven项目)

qq_41497443的博客 1017

基于Python的Steam游戏评论与销量数据爬取及预测分析

随着数字游戏市场的蓬勃发展,Steam作为全球最大的数字游戏分发平台,积累了海量的游戏数据与玩家行为数据。本文旨在通过Python网络爬虫技术,采集Steam平台的游戏基本信息、玩家评论数据及销量相关信息,为后续的游戏评论情感分析与销量预测模型构建提供数据支持。本文将详细介绍使用requestsselenium等库实现Steam数据爬取的全过程,并提供完整的代码实现与数据处理方法。关键词:Steam;Python爬虫;数据采集;评论分析;销量预测。

2201_76125261的博客 855

简单部署SpringBoot+maven项目

文章目录生成项目编写ControllerMaven打包 生成项目 先打开网站 https://start.spring.io/ 选择Maven项目,填写好资料 Dependencies 选择Web,因为里面包含tomcat等。 Generate Project 在Idea中打开刚才生成的文件中的pom.xml,生成项目 编写Controller 在src/main/java/项目名的包下,新...

Netooo的博客 1179

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

SpringBoot框架搭建以及配置详解

SpringBoot框架搭建以及配置详解(IDEA)一:开发流程二级目录三级目录 一:开发流程 1.创建maven项目 2.引入依赖 1)springboot项目起步依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <versi

weixin_56702673的博客 5070

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

spring boot介绍及使用详解

springBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。Spring boot的特点1. 创建独立的Spri...

weixin_34109408的博客 294

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

快速搭建SpringBoot项目:从零到部署

通过本文的指导,你应该能够快速搭建一个SpringBoot项目,并了解如何运行和部署你的应用。SpringBoot的简洁和高效,使得Java开发变得更加轻松愉快。

2401_85000583的博客 2340

springboot+mybatis plus快速开发脚手架

springboot+mybatis开发架子1. 使用idea创建一个maven项目2. 在pom中引入依赖 1. 使用idea创建一个maven项目 2. 在pom中引入依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

远行的博客 1356

spring入门hello world

1.maven工程创建 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.ap...

weixin_33958366的博客 95

spring boot 集成 swagger api文档的规范且完整框架

maven 依赖 &lt;dependency&gt; &lt;groupId&gt;io.springfox&lt;/groupId&gt; &lt;artifactId&gt;springfox-swagger2&lt;/artifactId&gt; &lt;version&gt;2.6.1&lt;/version&gt; &lt;/dependency&am

qq_38432390的博客 453

Spring Boot项目搭建完整指南(超级详细,2026最新版)

前言还在为搭建Spring Boot项目而头疼?这可能是全网最详细的入门教程!推荐使用Maven 3.6+,便于依赖管理。 生成一个适合你的列表 项目 项目 项目 项目1 项目2 项目3 计划任务 完成任务 创建一个表格 一个简单的表格是这么创建的:使用居中 使用居左 使用居右SmartyPants 是一个文本转换工具,主要功能是将普通的 ASCII 标点符号自动转换为更美观的印刷体标点符号。例如:一个具有注脚的文本。1Markdown将文本转换为 HTML。您可以使用渲染LaT

qq_61711388的博客 556

【SpringAI第二章】快速入门

SpringAI快速入门,环境依赖小案例教程。

冲鸭的博客 207

Spring Boot入门篇:快速搭建你的第一个Spring Boot应用

通过本文的介绍,您已经学会了:1. Spring Boot的基本概念和优势2. 多种创建Spring Boot项目的方式3. 如何创建主应用类和Controller4. 如何运行和测试Spring Boot应用这只是Spring Boot的入门知识,后续文章将深入介绍更多高级特性和实际应用场景。:不需要生成额外的代码## 快速搭建第一个Spring Boot应用### 方法一:使用Spring Initializr1. 访问。## 运行应用可以通过以下几种方式运行Spring Boot应用:1.

felix 1278

IntelliJ IDEA 2024.1.1 中快速创建 Spring Boot 项目的指南【图文教程】

《IntelliJ IDEA 2024.1.1 快速创建 Spring Boot 项目指南》摘要: 本文详细介绍了使用 IntelliJ IDEA 2024.1.1 创建 Spring Boot 项目的完整流程。Spring Boot 作为简化 Spring 开发的框架,结合 IDEA 的强大功能(如 Spring Initializr 模板、热部署、代码生成),可显著提升开发效率。指南涵盖环境准备(JDK11+、Maven)、项目创建步骤(含界面截图)、标准目录结构说明,以及端口修改、接口开发等实战操作,

深耕 Java 后端与企业级软件架构设计,专注微服务、分布式系统、大模型 AI 应用架构落地。 5570

如何快速上手Spring Boot REST Example:5分钟启动你的第一个RESTful服务

想要快速学习Spring Boot并构建RESTful API吗?Spring Boot REST Example是一个完美的入门项目!这个完整的Spring Boot微服务示例项目将帮助你在5分钟内启动第一个RESTful服务。Spring Boot REST Example项目展示了如何使用Spring Boot框架快速搭建一个功能完备的酒店管理REST API服务,包含健康检查、监控指标和S

gitblog_01196的博客 350

Spring Initializr集成:用lsp-java快速创建Spring Boot项目

lsp-java是一款专为Emacs打造的Java语言服务器协议客户端,它与Spring Initializr深度集成,为开发者提供了快速创建和配置Spring Boot项目的完整解决方案。通过lsp-java,你可以在Emacs环境中一站式完成项目初始化、依赖管理和代码开发,大幅提升Spring Boot应用的开发效率。 ## 为什么选择lsp-java创建Spring Boot项目? ls

gitblog_00572的博客 957
上一篇: JavaEE进阶-JavaScript初识
下一篇: LeetCode刷题双指针(快乐数+盛最多水的容器)Java
评论 11
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值