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年最新 包括源码原理分析) + ...
随机推荐
- vue-router4 |name的作用|query传参|parmas传参|动态路由参数|命名视图|别名alias|前置路由守卫|路由过渡效果|滚动行为
vue-router4 出现 No match found for location with path "/" #### router/index.ts文件 import { c ...
- JDBC的学习 3-1
JDBC的学习 3-1 JDBC基本概念 快速入门 对JDBC中各个接口和类详解 JDBC : 概念 :Java DateBase Connectivity java数据库连接,Java语言操作数据库 ...
- 免费内网穿透服务Localtunnel
Localtunnel 将为您分配一个唯一的可公开访问的 url,它将所有请求代理到您本地运行的网络服务器. 快速开始 全局安装 Localtunnel(需要 NodeJS)以使其在任何地方都可以访问 ...
- Linux之博客系统的搭建
博客系统 三种配置:php+nginx+mysql 搭建步骤 改主机名 hostnamectl set-hostname lnmp 传入LNMP压缩包于root下(略) 配置网络(略)及yum源 先检 ...
- GB/T 28181联网系统通信协议结构和技术实现
技术回顾 在本文开头,我们先一起回顾下GB/T28181联网系统通信协议结构: 联网系统在进行视音频传输及控制时应建立两个传输通道:会话通道和媒体流通道. 会话通道用于在设备之间建立会话并传输系统控制 ...
- Mysql_Order_By的坑
CREATE TABLE `tt_transfer_container_pick_config` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, ...
- .NET WebAPI 自定义 NullableConverter 解决请求入参 “”空字符触发转换异常问题
最近在项目中启用了Nullable 可为空的类型,这个特性确实很好用,在 WebAPI 的入参上可以直接采用 ? 来标记一个字段是否允许为空,但是使用过程中遇到了如下一个问题,比如创建部门接口 我们定 ...
- Django 创建 APP和目录结构介绍
一.通过pip安装Django 以windows 系统中使用pip命令安装为例 win+r,调出cmd,运行命令:pip install django自动安装PyPi 提供的最新版本.指定版本,可使用 ...
- Elasticsearch: 使用URI Search
在Elasticsearch中,我们可以使用_search终端进行搜索.这个在我之前的文章 "开始使用Elasticsearch (2)" 中有很多的描述.针对这种搜索,我们可以使 ...
- Django环境安装
1.安装Django # 自动安装PyPi提供的最新版本 pip install django # 安装指定版本 pip install django==2.2 # 验证安装 >>> ...