Idea+springboot入坑之路】的更多相关文章

环境准备 IDEA 社区版: 2019.3 jdk: 1.8.0_241 tomcat: 7.0.99 maven: 3.6.3 spring-boot:2.2.5.RELEASE 插件 spring Assistant:解决社区版没有spring initializr Smart Tomcat:解决社区版没有tomca free mybatis plugin: 方便在mapper接口方法和mapper XML文件之间来回切换的插件 入坑之路 第一个接口,新建HomeController,@Re…
对于学过三大框架的小童鞋,从今天开始给大家带来一套新的框架学习,相信对于做程序的小童鞋一定有所耳闻,作为下一代java开发框架springboot,减去了繁琐的xml配置,相信用过spring.status.hibernate的小童鞋对于大量的xml配置一定是心有余悸,当然啦spring支持注解,虽然减少了一些xml的配置,但是总的来说还是有些复杂.springboot作为下一代微服务开发框架,重点就在于简化了繁琐的xml配置,是的程序开发简化很多.好了废话不多说,下面我们开始今天的内容. 首先…
前一篇我们探讨了关于springboot的配置文件和Controller的使用,本篇我们来一起探讨一下关于springboot如何传递参数的知识. 参数传递我们最常见的就是在url后通过?/&两个符号来将参数传递到后台,当然springboot也是也一样,我们可以通过这种方式将参数传递到后台,那么后台如何接收这些参数呢?下面我们一起学习一下: 这里我们将用到@RequestParam注解,这个注解有三个参数分别是:value.required.defaultValue,具体的用法,下面一一为大家…
在Web应用中,常常存在拦截全部或部分请求进行统一处理的应用场景,如权限校验.参数校验.性能监控等. 在SpringMVC框架中,我们可以通过过滤器或拦截器实现相关功能,spring-boot-starter-web模块底层实际就是SpringMVC框架,那么在SpringBoot项目中如何使用过滤器或拦截器呢? 过滤器与拦截器的区别 项目 过滤器Filter 拦截器Interceptor 说明 规范定义 Servlet规范中定义,与SpringMVC框架无关. SpringMVC提供组件之一.…
(故事背景:由于涉及到机密的原因,暂时不方便透露,待后期再写.) 国庆长假过完之后,回来上班第二天下午,Boss跟龙哥把我叫了出去,问我要不要转人工智能.一脸懵逼的我,带着一脸懵逼听Boss说人工智能这个项目的前景.这个时候的我,能怎么办?当然是选择答应啊! 众所周知,当前由Google开发的TensorFlow主要开发语言是Python,所以我要从JavaScript的坑跳到Python的坑. 我之前是用Windows系统,这回Boss直接要求换成Linux.我就想着,我有一个SSD和HHD,…
前面内容中我们已经了解到了SpringBoot关于参数传递的相关知识,本篇我们一起来学习一下SpringBoot关于数据库持久化操作的知识,这里我们使用JPA进行数据库的持久化操作. 首先由于我们需要进行数据库的操作,所以我们需要引入mysql的驱动包:这里我们介绍两种数据库持久化操作:JdbcTemplate和JpaRepository所以同样需要引入相应的包:这里为例方便进行数据的返回,我们引入阿里的fastjson: <!-- mysql数据库连接 start --> <!-- M…
经过上一篇的介绍,相信小伙伴们已经按奈不住内心对springboot的向往,本篇我将继续向小伙伴介绍springboot配置文件的配置,已经全局配置参数如何使用,好了下面开始我们今天的内容介绍. 我们知道Spring Boot支持容器的自动配置,默认是Tomcat,当然我们也是可以进行修改的: 1.首先我们排除spring-boot-starter-web依赖中的Tomcat:在pom文件中排除tomcat的starter <dependency> <groupId>org.spr…
转载自:https://segmentfault.com/a/1190000010506374?utm_source=tag-newest osg插件原理:https://blog.csdn.net/weitaming1/article/details/88954231 一. 渲染状态(render state) osg中,当设置某节点的渲染状态时,该状态会赋予当前节点及其子节点,因此,若要实现多节点多状态渲染时,一定注意节点之间的父子关系,最好一个节点设置一个自己想要的状态,除非父节点及其子节…
1:字段 AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) - bigint自增列,必须填入参数 primary_key=True 注:当model中如果没有自增列,则自动会创建一个列名为id的列 from django.db import models class UserInfo(models.Model): # 自动创建一个列名为id的且为自增的整数列 username = models.Ch…
kubelet 主要功能 Pod 管理 在 kubernetes 的设计中,最基本的管理单位是 pod,而不是 container.pod 是 kubernetes 在容器上的一层封装,由一组运行在同一主机的一个或者多个容器组成.如果把容器比喻成传统机器上的一个进程(它可以执行任务,对外提供某种功能),那么 pod 可以类比为传统的主机:它包含了多个容器,为它们提供共享的一些资源. 之所以费功夫提供这一层封装,主要是因为容器推荐的用法是里面只运行一个进程,而一般情况下某个应用都由多个组件构成的.…
定时任务迁移kubernetes 服务迁移步骤 1.安装好java 2.安装好maven 项目打包 mvn package 测试传参运行 java -cp cronjob-demo-1.0-SNAPSHOT.jar com.mooc.demo.cronjob.Main 编辑Dockfile FROM 172.17.166.172/kubenetes/openjdk:8-jre-alpine COPY target/cronjob-demo-1.0-SNAPSHOT.jar /cronjob-de…
Flannel: 最成熟.最简单的选择 Calico: 性能好.灵活性最强,目前的企业级主流 Canal: 将Flannel提供的网络层与Calico的网络策略功能集成在一起. Weave: 独有的功能,是对整个网络的简单加密,会增加网络开销 Kube-router: kube-router采用lvs实现svc网络,采用bgp实现pod网络. CNI-Genie:CNI-Genie 是一个可以让k8s使用多个cni网络插件的组件,暂时不支持隔离策略 k8s的容器虚拟化网络方案大体分为两种: 基于…
1.list-watch是什么 List-watch 是 K8S 统一的异步消息处理机制,保证了消息的实时性,可靠性,顺序性,性能等等,为声明式风格的API 奠定了良好的基础,它是优雅的通信方式,是 K8S 架构的精髓. 2. List-Watch 机制具体是什么样的 Etcd存储集群的数据信息,apiserver作为统一入口,任何对数据的操作都必须经过 apiserver.客户端(kubelet/scheduler/controller-manager)通过 list-watch 监听 api…
三种安装方法: 1.kubeadm 2.kubespray 3.二进制安装 kubespray安装kubernetes集群 优点: 1.kuberspray对比kubeadm更加简洁内部集成了kubeadm与ansible 缺点: 1.全程自动化排错成本高 2.主节点也要装了工作节点,如不需要使用可在主节点打污点标签 # 一.使用Kubespray部署Kubernetes生产集群 ## 1. 服务器说明 #### 1.1. 节点要求 ###### 节点数 >=3台 ###### CPU >=2…
#setting配置: MEDIA_URL = "/media/" MEDIA_ROOT = os.path.join(BASE_DIR, "media") #注册完admin后,在后台上传图片的时候,会自动将图片保存到这个media文件夹下,#upload_to----在media文件夹下再创建一个文件夹 class Projects(models.Model): '''作品图片''' img = models.ImageField(upload_to='img'…
1:Jquery.ajax后端交互数据 $.ajax({ Url: /路由处理/, Type: GET/POST, #传送请求类型 Data: {user: “ XXXX”,pass:”XXXX”}, #设置成键值对传给后端,页面数据可以使用jq取到标签的属性值(html(),val(),text() 等) Success:function (arg) { #载入成功时回调函数,arg是后端返回的Json数据 var arg = JSON.parse(arg) #将Json数据转换成键值对,py…
1:settings.py 中的 INSTALLED_APPS # Application definition INSTALLED_APPS = [ 'django.contrib.admin', #admin其实就是一个应用包,使用的时候需要写在APPS里 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.con…
1:自定过滤器 1创建templatetags文件夹 2在里面创建自定义py文件:固定格式: from django import template from django.utils.safestring import mark_safe register = template.Library() @register.filter + def 自定义方法 @register.simple_tag + def 自定义方法 3 在需要的html文件中导入{{% load 创建的py文件名 %}}…
1:From组件的简单使用 1创建From: #导入模块 from django import forms from django.forms import fields, widgets # 导入自定制插件 class F1(forms.Form): #自定制插件:widget=widgets.TextInput(attrs={'class': 123})设置属性 user = fields.CharField(min_length=3, max_length=18, widget=widge…
cicd的结合组件 需要代码仓库如gitlab.github.包构建工具Maven等,持续集成工具如jenkins,github/cicd.结合自己脚本实现重复式任务自动化. 传统服务发布流程: 提交代码到仓库使用maven工具构建包,发布到指定服务器上(正式测试等),调用脚本或ansible执行发布. 传统存在问题: 传统服务常见的是通过负载均衡器更新单个服务测试好在挂载.需要部署多个环境,重复性操作.通过k8s可以把多个环境放置不同的namespace中,通过yaml文件去指定不同names…
共享存储 docker默认是无状态,当有状态服务时需要用到共享存储 为什么需要共享存储: 1.最常见有状态服务,本地存储有些程序会把文件保存在服务器目录中,如果容器重新启停则会丢失. 2.如果使用volume将目录挂载到容器中,涉及到备份及高可用问题.如果宿主机出现问题则会造成不可用状态. kubernetes中提供了共享存储 1.pv(PresistentVolume持久卷) 2.pvc (PresistentVolumeClaim持久卷声明) PV pv中定义了: pv的容量 pv的访问模式…
Namespace --- 集群的共享与隔离 语言中namespace概念 namespace核心作用隔离 以上是隔离的代码.namespace隔离的是: 1.资源对象的隔离:Service.Deployment.Pod 2.资源配额的隔离:Cpu.Memory 创建命名空间 kubectl create namespace dev apiVersion: v1 kind: Namespace metadata: name: devkubectl create -f namespace.yaml…
ingress官方文档地址:http://docs.kubernetes.org.cn/  https://feisky.gitbooks.io/kubernetes/content/plugins/ingress.html 什么是 Ingress? 通常情况下,service和pod的IP仅可在集群内部访问.集群外部的请求需要通过负载均衡转发到service在Node上暴露的NodePort上,然后再由kube-proxy将其转发给相关的Pod. 而Ingress就是为进入集群的请求提供路由规…
kubernetes访问场景 1.集群内部访问 2.集群内部访问外部 3.集群外部访问内部 1.集群内部访问 1.pod之间直接ip通讯(利用calico通过路由表经过三层将ip流量转发)由于容器之间ip并不固定不推荐使用ip直连 2.pod通过service-ip访问后端pod(service为虚拟ip,kube-proxy将请求分发给ipvs,负载到某个后端pod,calico通过路由转发将请求转发过去) 3.(dns+ClusterIp)pod通过service-name访问后端pod(p…
概述 作为服务发现机制的基本功能,在集群内需要能够通过服务名对服务进行访问,那么就需要一个集群范围内的DNS服务来完成从服务名到ClusterIP的解析. DNS服务在kubernetes中经历了三个阶段. 第一阶段,在kubernetes 1.2版本时,dns服务使用的是由SkyDNS提供的,由4个容器组成:kube2sky.skydns.etcd和healthz.etcd存储dns记录:kube2sky监控service变化,生成dns记录:skydns读取服务,提供查询服务:healthz…
kube-proxy 每台机器上都运行一个 kube-proxy 服务,它监听 API server 中 service 和 endpoint 的变化情况,并通过 iptables 等来为服务配置负载均衡(仅支持 TCP 和 UDP). kube-proxy 可以直接运行在物理机上,也可以以 static pod 或者 daemonset 的方式运行. kube-proxy 当前支持以下几种实现 userspace:最早的负载均衡方案,它在用户空间监听一个端口,所有服务通过 iptables 转…
API Server kube-apiserver 是 Kubernetes 最重要的核心组件之一,主要提供以下的功能 提供集群管理的 REST API 接口,包括认证授权.数据校验以及集群状态变更等 提供其他模块之间的数据交互和通信的枢纽(其他模块通过 API Server 查询或修改数据,只有 API Server 才直接操作 etcd) REST API 详情:https://www.bookstack.cn/read/feiskyer-kubernetes-handbook-202005…
containerd概念: containerd主要是namebases与k8s docker不同 存放路径不一致 没有默认仓库 容器运行时: 2020年未kubernetes宣布不再支持docker docker由libcontainer及containerd组成将libcontainer捐赠给OCI开源基金会将libcontainer改名runc,OCI定义了镜像规范,运行时规范.(镜像标准镜像组织结构包含各种文件目录等,运行时如何启动一个容器需要接受那些指定,配置生命周期等,如何划分cgr…
每个微服务通过 Docker 进行发布,随着业务的发展,系统中遍布着各种各样的容器.于是,容器的资源调度,部署运行,扩容缩容就是我们要面临的问题.   基于 Kubernetes 作为容器集群的管理平台被广泛应用,今天我们一起来看看 Kubernetes 的架构中有那些常用的组件以及运行原理. Kubernetes 架构概述   Kubernetes 是用来管理容器集群的平台.既然是管理集群,那么就存在被管理节点,针对每个 Kubernetes 集群都由一个 Master 负责管理和控制集群节点…
1.出现spring boot Configuration Annotation Proessor not found in classpath的提示是在用了@ConfigurationProperties这个注解时,所以问题出现在ConfigurationProperties注解. 2.根据提示的not found in classpath,查询此注解的使用关于怎么指定classpath,进而查询location,spring boot1.5以上版本@ConfigurationProperti…