当前位置: 首页 > news >正文

兰州网络推广关键词网站排名优化学习

兰州网络推广关键词,网站排名优化学习,海外推广大使,wordpress acf 收费目录 快速入门 依赖管理和自动配置 修改自动仲裁/默认版本号 starter场景启动器 自动配置 修改默认扫描包结构 修改默认配置 读取application.properties文件 按需加载原则 容器功能 Configuration Import ​编辑 Conditional ImportResource 配置绑定Configur…目录 快速入门 依赖管理和自动配置 修改自动仲裁/默认版本号 starter场景启动器 自动配置 修改默认扫描包结构 修改默认配置 读取application.properties文件 按需加载原则 容器功能 Configuration Import ​编辑 Conditional ImportResource 配置绑定ConfigurationProperties Lombok yaml 基本语法 数据类型 应用 细节 静态资源访问 Rest风格请求处理 接收参数相关注解 PathVariable、RequestParam RequestHeader CookieValue RequestBody RequestAttribute、SessionAttribute 复杂参数 自定义对象参数-自动封装 自定义转换器 实现接口形式 向容器注入Bean形式                               处理Json 内容协商 Thymeleaf 拦截器 实现接口形式 向容器注入Bean形式 文件上传 第一种 第二种  快速入门 jdk8maven3.5 !--导入springboot父工程--parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.5.3/version/parent!--导入web项目场景启动器会自动导入和web开发相关的所有依赖--dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency/dependencies //表示这是一个springboot应用/项目 SpringBootApplication public class MainApp {public static void main(String[] args) {SpringApplication.run(MainApp.class,args);//或者ConfigurableApplicationContext ioc SpringApplication.run(MainApp.class, args);} } Controller public class HelloController {RequestMapping(/hello)ResponseBodypublic String hello() {return hello;} } 依赖管理和自动配置 修改自动仲裁/默认版本号 spring-boot-starter-parent 还有父项目, 声明了开发中常用的依赖的版本号并且进行 自动版本仲裁 , 即如果程序员没有指定某个依赖jar的版本则以父项目指 定的版本为准 在pom.xml修改版本号 starter场景启动器 开发中我们引入了相关场景的starter这个场景中所有的相关依赖都引入进来了 比如我们做web开发引入了该starter将导入与web开发相关的所有包 !--导入web项目场景启动器会自动导入和web开发相关的所有依赖--dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency/dependencies 依赖树可以看到spring-boot-starter-web 帮我们引入了spring-webmvcspring-web 开发模块还引入了spring-boot-starter-tomcat 场景spring-boot-starter-json 场景这些场景下面又引入了一大堆相关的包这些依赖项可以快速启动和运行一个项目提高开发效率 所有场景启动器最基本的依赖就是spring-boot-starter这个依赖也就是SpringBoot自动配置的核心依赖 官方/第三方strater 自动配置 扫描包默认主程序(MainApp)所在的包及其子包下会被扫描 修改默认扫描包结构 scanBasePackages指定扫描的包com.edu这个包及子包会被扫描 SpringBootApplication(scanBasePackages {com.edu,aa.bb}) public class MainApp {public static void main(String[] args) {SpringApplication.run(MainApp.class,args);} } 修改默认配置 1、在resources目录下创建application.properties文件更改value 2、在application.properties文件中自定义配置通过Value(${})获取对应属性值 读取application.properties文件 也可以放在resource目录下的config目录下、项目路径下 public class ConfigFileApplicationListener {private static final String DEFAULT_SEARCH_LOCATIONS classpath:/,classpath:/config/,file:./,file:./config/*/,file:./config/;private static final String DEFAULT_NAMES application; } 按需加载原则 自动配置遵守按需加载原则引入了哪个场景starter就会加载该场景关联的jar 包没有引入的starter 则不会加载其关联jar SpringBoot 所有的配置功能都在spring-boot-autoconfigure 包里面 容器功能 Sping注入组件的注解仍可以在SpringBoot使用 Configuration 传统通过配置文件注入组件 使用Configuration添加/注入组件创建配置类来注入组件 前提在springboot扫描的包/子包下会注入到容器     1. Configuration 标识这是一个配置类, 等价于配置文件     2. 可以通过Bean 注解注入bean对象到容器     3.当一个类被Configuration标识该类-Bean也会注入容器可以被获取 Configuration public class BeanConfig {//name的值指定bean的id不指定id就是方法名Bean(name monster)public Monster monster01() {return new Monster(200,tom,18,dance);} } SpringBoot2 新增特性 proxyBeanMethods 指定 Full 模式 和 Lite模式 proxyBeanMethods代理bean的方法 (1) Full(proxyBeanMethods true)默认【保证每个Bean 方法被调用多少次返回的组件都是单实例的, 是代理方式】 (2) Lite(proxyBeanMethods false)【每个Bean 方法被调用多少次返回的组件都是新创 建的, 是非代理方式】 (3) 特别说明: proxyBeanMethods 是在调用Bean方法才生效因此需要先获取 BeanConfig 组件再调用方法而不是直接通过 SpringBoot 主程序得到的容器来获取 bean, 注意观察直接通过 ioc.getBean() 获取 Bean, proxyBeanMethods 值并没有生效 (4) 如何选择: 组件依赖必须使用Full模式如果不需要组件依赖使用Lite模式 (5) Lite模式也称为轻量级模式因为不检测依赖关系运行速度快 容器只有一个配置类可以有多个, 就和Spring可以有多个ioc配置文件是一个道理 Import 使用Configuration可以将Bean注入到容器 也可以在配置类上使用Import就不必写具体的方法默认id就是对应类型的全类名 Conditional 条件装配满足Conditional指定的条件则进行组件注入 Conditional 是一个根注解下面有很多扩展注解 如果扩展注解放在配置类上表示该类的所有组件都要进行条件约束 ImportResource 作用原生配置文件引入, 也就是可以直接导入Spring 传统的 beans.xml 可以认为是SpringBoot 对Spring 容器文件的兼容 将beans.xml文件导入到配置类中 spring或springboot扫描beans.xml文件需要new ClassPathXmlApplicationContext(“”); 现在导入到配置类中springboot可以直接SpringApplication.run(MainApp.class, args); Configuration ImportResource(locations classpath:beans.xml) public class BeanConfig2 {} 配置绑定ConfigurationProperties 加入configuration-processor依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-configuration-processor/artifactId!--配置optional为true说明: 表示防止将此依赖传递到其它模块--optionaltrue/optional/dependency 使用Java读取到SpringBoot 核心配置文件 application.properties 的内容 并且把它封装到JavaBean中  如果不添加Component注解会报错 第二种方法在配置类上加EnableConfigurationProperites通过配置类注入到容器 开启Furn配置绑定功能把Furn组件自动注册到容器中 在Bean中必须要有set方法否则属性值是null 如果application.properties有中文需要转成unicode编码写入 在网站中把中文转码再粘贴回去 Lombok 写AllArgsConstructor会覆盖无参构造器搭配上NoArgsConstructor Slf4j --- 日志输出 yaml 以数据为中心的标记语言 基本语法 数据类型 字面量 单个的、不可再分的值data、boolean、string、number、null 对象 键值对的集合map、hash、set、object 数组 一组按次序排列的值array、list、queue 应用 前缀就是yaml第一级的名称 细节 如果 application.properties 和 application.yml 有 相同的前缀值绑定 application.properties 优先级高, 开发时应当避免 加入依赖会有提示字段 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-configuration-processor/artifactId!--配置optional为true说明: 表示防止将此依赖传递到其它模块--optionaltrue/optional/dependency 静态资源访问 可以直接访问x.jpg直接放在resources下访问会报错 静态资源访问原理原理http://localhost:8080/1.jpg静态映射是/**先看/1.jpg是否会被Controller处理否则交给静态资源处理如果静态资源找不到则响应404 页面 静态资源访问前缀和控制器请求路径冲突需要改变静态资源访问前缀 在application.yml修改 spring:web:resources:static-locations: /res/** 改变默认的静态资源路径比如希望在类路径下增加 hspimg目录作为静态资源路径 如果你配置static-locations原来的访问路径就被覆盖了需要重新指定一下 spring:mvc:static-path-pattern: /res/**web:resources:static-locations: [classpath:/hspimg/,classpath:/META-INF/resources/, classpath:/resources/, classpath:/static/, classpath:/public/] Rest风格请求处理 Rest 风格支持使用HTTP请求方式动词来表示对资源的操作 请求方式:/monster GET-获取怪物 DELETE-删除怪物 PUT-修改怪物 POST-保存妖怪 细节 1、客户端是PostMan 可以直接发送Put、delete等方式请求可不设置Filter 2、如果要SpringBoot支持页面表单的Rest功能, 则需要注意如下细节         需要在application.yml 启用filter功能否则无效         Rest风格请求核心Filter HiddenHttpMethodFilter 表单请求会被 HiddenHttpMethodFilter 拦截 , 获取到表单 _method 的值再判断是PUT/DELETE/PATCH spring:mvc:hiddenmethod:filter:enabled: true 没有视图解析器会输出abc否则就走视图解析器定位的页面 使用Controller         return xxx;          1、先看Controller有没有对应的[没有配置视图解析器]         2、如果配置视图解析器就定位页面 1、页面在静态目录下 spring:view:suffix: .htmlprefix: / 2、更改静态资源访问路径view需要和static-path-pattern保持一致 spring:mvc:static-path-pattern: /res/**view:suffix: .htmlprefix: /res/ 接收参数相关注解 PathVariable、RequestParam 在形参加上PathVariable MapStringString map可以把所有参数放进Map中但是有多个值(List)只会取第一个因为Map的key是唯一的 a href/monster/200/jackPathVariable-路径变量 monster/200/jack/a RequestHeader 获取 Http 请求头  RequestHeader里的参数名不区分大小写 可以通过Map获取所有Http请求头 CookieValue 获取Cookie还可以通过request 1. value cookie_key 表示接收名字为 cookie_key的cookie 2. 如果浏览器携带来对应的cookie , 那么 后面的参数是String ,则接收到的是对应的value 3. 后面的参数是Cookie ,则接收到的是封装好的对应的cookie RequestBody 处理Json数据 获取POST请求体 也可以封装到JavaBean对象中 输入hspedu 100输出 RequestAttribute、SessionAttribute 获取域的数据 复杂参数 自定义对象参数-自动封装 会自动封装要求提交的数据表单请求参数名和对象的字段名保持一致 自定义转换器 SpringBoot在响应客户端请求时将提交的数据封装成对象时使用了内置的转换器有124个 实现接口形式 向容器注入Bean形式                               Converter 转换器接口 1、新建一个配置类使用Lite模式 2、注入Bean(返回类型是接口类型WebMvcConfigurer)      2.1.返回这个类型的对象并重写addFormatters方法并自定义转换器      2.2.使用匿名内部类实现接口的方法(转换器会注册到converters容器中 换种写法先创建自定义的转换器 如果添加了多个ConverterStringCar类型的转换器Hashmap的key是唯一的 后面的会覆盖前面的 处理Json SpringBoot支持返回Json格式数据在启用Web开发场景时已经引入了相关依赖 会先经过return monster再经过转换器 底层仍然使用转换器根据请求带来的Accept类型发出请求时就已经指定了返回的格式 内容协商 可以手动设置Acceptapplication/json或application/xml等等在postman可以设置 默认按照Json格式返回springboot 依赖包含了 json 数据格式的 jar 依赖。 可以在pox.xml中引入xml依赖由于xml比json优先级高会显示xml 格式的数据类型 对于浏览器我们无法修改Accept的值  需要开启支持基于请求参数的内容协商功能在application.yaml中设置 在地址后加上?formatxxx xxx 就是要转换显示为xxx格式的数据的值 format可以修改 Thymeleaf 服务器渲染技术页面数据是在服务端进行渲染的并不是前后端分离 首先要声明名称空间xmlns:thhttp://www.thymeleaf.org 引入Thymeleaf依赖项目会自动完成配置  会直接使用视图解析到thymeleaf下的模板文件 拦截器 使用了Thymeleaf 与转换器写法差不多 1、实现HandlerInterceptor接口   2、拦截器注册到配置类中实现WebMvcConfigurer的addInterceptors 3、指定拦截规则 实现接口形式 /images/**是静态资源的图片也会发出请求需要放行 向容器注入Bean形式 文件上传 使用了Thymeleaf 设置上传文件大小 第一种 第二种  文件名随机数毫秒数实际文件名 分目录存放根据当前日期存放
http://www.w-s-a.com/news/408053/

相关文章:

  • 图片素材网站建设做教育网站用什么颜色
  • 快站淘客中转页wordpress商业插件
  • 可信网站网站认证免费软件下载网站免费软件下载网站
  • 小学生网站制作最新域名网站
  • 奖励网站代码设计制作ppt时
  • 茂名优化网站建设门户网站和部门网站的区别
  • 一尊网 又一个wordpress站点wordpress获取当前文章名称
  • 营销型网站多少钱新建网站的外链多久生效
  • 网站空间怎么选择tp5企业网站开发百度云
  • 网站建设saas排名成立公司的流程和要求及费用
  • 网站建设共享骨科医院网站优化服务商
  • 肯尼亚网站域名万能进销存软件免费版
  • 做商城网站价格上海做网站建设
  • 广州制作外贸网站公司阿里云网站模板
  • 做网站为什么要买服务器十堰城市建设网站
  • 西安网站seo技术厂家东莞如何制作免费的网页
  • 做旅游的网站的目的和意义极限优化wordpress
  • 做美食视频网站有哪些品牌营销策划机构
  • 佛山知名营销网站开发wordpress可视化编辑器排行
  • 石岩做网站哪家好石家庄做网站设计
  • 建设网站需要冠县做网站
  • 保定网站seo哪家公司好wordpress教程视频下载
  • 网站开发 哪些文档网站海外推广方法
  • 广西建设局网站首页如何做条形码网站怎么搞
  • 琼海建设网站wordpress 商城站下载地址
  • 网站需要多大数据库divider wordpress
  • 兰州北京网站建设网络广告推广网站
  • 宁晋网站建设森网站建设
  • 网站没有收录原因trel域名
  • 建设门户网站的目的和需求台州专业网站建设方案