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年最新 包括源码原理分析) + ...
随机推荐
- 日常问题: SQL优化
日常开发中,除了开辟新项目,业务需求开发,一般还要做负责系统的日常运维.比如线上告警了,出bug了,必须及时修复.这天,运维反馈mysql cpu告警了,然后抓了该时间节点的慢sql日志,要开发分析解 ...
- 第七十七篇:ref引用(在vue中引用组件实例)
好家伙, 为方便理解, 我们先来写一个经典自增一按钮, 再加上一个count清零按钮, Left.vue组件中: <template> <div > <h1>我是L ...
- Sys_Bulkload 工具使用
一.介绍 sys_bulkload是KingbaseES提供的快速加载数据的命令行工具.用户使用sys_bulkload工具能够把一定格式的文本数据简单.快速的加载到KingbaseES数据库中,或将 ...
- git 密码修改
当由于修改了Git 的密码导致 pull 等操作报错时,比如报以下错误: fatal: Authentication failed for 'http://xxxxxxxxxxxxxxxxxx.git ...
- ConcurrentDictionary<T,V> 的这两个操作不是原子性的
好久不见,马甲哥封闭居家半个月,记录之前遇到的一件小事. ConcurrentDictionary<TKey,TValue>绝大部分api都是线程安全且原子性的, 唯二的例外是接收工厂委托 ...
- Python数据科学手册-Numpy数组的计算:广播
广播可以简单理解为用于不同大小数组的二元通用函数(加减乘等)的一组规则 二元运算符是对相应元素逐个计算 广播允许这些二元运算符可以用于不同大小的数组 更高维度的数组 更复杂的情况,对俩个数组的同时广播 ...
- 关于thinkphp5.1(tp5.1)中sum计算结果不精确、不准确的问题
使用sprintf函数处理,虽然原理没搞懂,但是问题解决了 复现: test表中有两列,值分别是-0.33和10,数据类型是float SELECT SUM(`val`) AS tp_sum FROM ...
- Django CSRF验证失败. 请求被中断.
当页面中form使用POST方式向后台提交时,报如下错误: 禁止访问 (403) CSRF验证失败. 请求被中断. Help Reason given for failure: CSRF toke ...
- Kubernetes里的Service是如何工作的
Service是Kubernetes接入层的一种抽象资源,它为我们提供了一种固定的.统一的访问接口地址和负载均衡能力,这时可能会想到,当时使用docker-compose的时候,不存在Service概 ...
- 9. 第八篇 kube-controller-manager安装及验证
文章转载自:https://mp.weixin.qq.com/s?__biz=MzI1MDgwNzQ1MQ==&mid=2247483826&idx=1&sn=88f0cef6 ...