java学习之springboot
0x00前言
呀呀呀时隔好久我又来做笔记了,上个月去大型保密活动了,这里在网上看了一些教程如果说不是去做java开发我就不做ssm的手动整合了采用springboot去一并开发。
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。 该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。 通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者
0x01快速入门
学习了前面繁琐的spring的开发方式我只能说springbootyyds,不需要你装配任何环境上手既用的操作真很好,入门创建一个springboot的项目文件
发现springboot已经给你创建好了源文件和资源文件目录
0x1引导类文件
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
springboot项目的依赖是继承于一个jar包,项目的启动工作要依靠这个引导类没有就需要自己手动创建
0s2编写Controller
springboot帮你解决了各种依赖环境也不需要你去配置xml文件你只需要写你要干什么的控制器
@RestController
@RequestMapping("/books")
public class BookContraller {
@GetMapping("/{id}")
public String getbyid(@PathVariable Integer id){
System.out.println("id ==>"+id);
return "Hellow spring boot";
}
}
直接启动访问就完成
0x3起步依赖
这些带为starter的依赖用来简化配置的当你需要更改配置的时候只需要改启动依赖就可以了
0x02配置文件
你可能需要配置一下数据库和一些服务器的端口号springboot都已经提供好了。
0x1修改端口
在springboot的框架里面有准备一个配置文件application.properties,里面有springboot给我们准备好的格式
#配置服务器端口
server.port=81
#配置当前应用名称
server.servlet.context-path=/demo1x
0x2yaml配置文件
YML文件格式是YAML (YAML Aint Markup Language)编写的文件格式,
YAML是一种直观的能够被电脑识别的的数据数据序列化格式,并且容易被人类阅读,容易和脚本语言交互的,可以被支持YAML库的不同的编程语言程序导入,比如: C/C++, Ruby, Python, Java, Perl, C#, PHP等。YML文件是以数据为核心的,比传统的xml方式更加简洁。
YML文件的扩展名可以使用.yml或者.yaml。
配置对象的属性
age: 18
name: lihua
number: 1001
有个坑点注意冒号后面要加空格
配置list属性
list1:
- hvv
- kfc
- v
- me
- 50
0x3获取各种数据的方式
用注解@Value获取。
写出配置文件
person:
name: xiaohua
age: 18
id: 01101
server:
port: 81
list:
- hvv
- kfc
- v
- me
- 50
注解获取
@RestController
@RequestMapping("/books")
public class BookContraller {
@Value("${person.name}")
private String name;
@GetMapping("/{id}")
public String getbyid(@PathVariable Integer id){
System.out.println("id ==>"+id);
return "Hellow spring boot"+name;
}
}
0x03整合Mybatis
还是需要先生成一个实体类
package com.example;
public class person {
private int id;
private String name;
private String password;
private String gender;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
@Override
public String toString() {
return "person{" +
"id=" + id +
", name='" + name + '\'' +
", password='" + password + '\'' +
", gender='" + gender + '\'' +
'}';
}
}
构造一个操作接口类:
@Mapper
public interface Persondao {
@Select("select * from user where id =#{id}")
public person getbyid(int id);
}
写一下配置文件用yml写确定一下连接的数据库
spring:
datasource:
username: root
password: zhonglin
url: jdbc:mysql//localhost:3306/tese
driver-class-name: com.mysql.cj.jdbc.Driver
尝试连接
@SpringBootTest
class ApplicationTests {
private Persondao Person;
@Test
void testbyid(){
person person1=Person.getbyid(2);
System.out.println(person1);
}
}
到此mybatis就整合完了
0x04后言
后面的ssm三个框架学的比较潦草,只要是这些东西都是一些配置文件和一些文件的固定写法这些东西只有在老一点的软件会用,现在大多数的都是用的springboot的写的在后面的代码审计里面再去慢慢研究这些框架,这样无实战的敲框架代码意义不大,框架学的潦草因为我是学安全的不是学开发的就算以后开发以是用springboot,至此我的java语言写的部分已经基本结束了后续会补充一下其他的知识点,现在开始进入代码审计的模块了。
java学习之springboot的更多相关文章
- Java学习之SpringBoot整合SSM Demo
背景:在Java Web中Spring家族有着很重要的地位,之前JAVA开发需要做很多的配置,一堆的配置文件和部署调试一直是JavaWeb开发中的一大诟病,但现在Spring推出了SpringBoot ...
- Java学习之Dubbo+ZooKeeper分布式服务Demo
背景:在之前的一个<Java学习之SpringBoot整合SSM Demo>分享中说到搭建ZooKeeper和Dubbo分布式框架中遇到了一些技术问题没能成功,只分享了其中的一个中间产物, ...
- 从.Net到Java学习第十一篇——SpringBoot登录实现
从.Net到Java学习系列目录 通过前面10篇文章的学习,相信我们对SpringBoot已经有了一些了解,那么如何来验证我们的学习成果呢?当然是通过做项目来证明啦!所以从这一篇开始我将会对之前自己做 ...
- 从.Net到Java学习第八篇——SpringBoot实现session共享和国际化
从.Net到Java学习系列目录 SpringBoot Session共享 修改pom.xml添加依赖 <!--spring session--> <dependency> & ...
- 从.Net到Java学习第九篇——SpringBoot下Thymeleaf
从.Net到Java学习系列目录 Thymeleaf概述 Thymeleaf 是一个流行的模板引擎,该模板引擎采用java语言开发.模板引擎是一个技术名称,是跨领域平台的概念,在java语言体系下有模 ...
- 从.Net到Java学习第十二篇——SpringBoot+JPA提供跨域接口
从.Net到Java学习系列目录 最近又撸了半个月的前端代码,做app离线存储,然后又花了一周去将过去的wcf项目转webapi,java又被落下了,总感觉我特么像斗地主中的癞子牌,变来变去..... ...
- 从.Net到Java学习第七篇——SpringBoot Redis 缓存穿透
从.Net到Java学习系列目录 场景描述:我们在项目中使用缓存通常都是先检查缓存中是否存在,如果存在直接返回缓存内容,如果不存在就直接查询数据库然后再缓存查询结果返回.这个时候如果我们查询的某一个数 ...
- Java 学习文章汇总
目前JAVA可以说是产业界和学术界最热门的语言,许多人都很急切想把JAVA学好. 但学习是需要步骤的,除非像电影中演的那样,能够把需要的专业技巧下载到脑海:主角只花了几秒下载资料,就马上具备飞行员的技 ...
- JAVA学习资源分享
JAVA学习资源分享 最高端的JAVA架构师资源(来自龙果学院 价值¥1399元).JAVA互联网分布式架构(龙果学院 价值¥899元).Spring Boot(2017年最新 包括源码原理分析) + ...
随机推荐
- flutter系列之:移动端的手势基础GestureDetector
目录 简介 Pointers和Listener GestureDetector 手势冲突 总结 简介 移动的和PC端有什么不同呢?同样的H5可以运行在APP端,也可以运行在PC端.两者最大的区别就是移 ...
- vivo前端智能化实践:机器学习在自动网页布局中的应用
作者:vivo 互联网前端团队- Su Ning 在设计稿转网页中运用基于self-attention机制设计的机器学习模型进行设计稿的布局,能够结合dom节点的上下文得出合理的方案. 一.背景 切图 ...
- [Python]-字典-实践经验总结
字典是Python中常用的一个数据类型. 与列表有相似的用法,表现在列表的下标和字典的键值可以通过相似的方式读取数据: list_name[0] = value dict_name['key'] = ...
- Minio服务限制/租户
官方文档地址:http://docs.minio.org.cn/docs/master/minio-server-limits-per-tenant 纠删码 (多块硬盘 / 服务) 浏览器访问 Lim ...
- SkyWalking简要介绍
什么是 SkyWalking 分布式系统的应用程序性能监视工具,专为微服务.云原生架构和基于容器(Docker.K8s.Mesos)架构而设计.提供分布式追踪.服务网格遥测分析.度量聚合和可视化一体化 ...
- 在Kuboard上安装 Ingress Controller
快速安装 # 只在 master 节点执行 kubectl apply -f https://kuboard.cn/install-script/v1.18.x/nginx-ingress.yaml ...
- 了解如何配置Nginx日志
设置access_log 访问日志主要记录客户端的请求.客户端向Nginx服务器发起的每一次请求都记录在这里.客户端IP,浏览器信息,referer,请求处理时间,请求URL等都可以在访问日志中得到. ...
- Fluent插件管理
官方文档地址:https://docs.fluentd.org/deployment/plugin-management 命令fluent-gem是Fluentd用来安装插件的,它是gem命令的包装器 ...
- JS 模块化- 04 CMD 规范与 Sea JS
1 CMD 规范介绍 CMD: Common Module Definition, 通用模块定义.与 AMD 规范类似,也是用于浏览器端,异步加载模块,一个文件就是一个模块,当模块使用时才会加载执行. ...
- [笔记] 二维FFT
假设现在有2个矩阵a和b,分别是n行m列和x行y列,现在你要计算它们的二维卷积,也就是求出矩阵s满足: \(s_{i,j}=\sum_{i'\leq i,j'\leq j}a_{i',j'}b_{i- ...