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

无锡做网站优化哪家好做网站赚钱需要多少人手

无锡做网站优化哪家好,做网站赚钱需要多少人手,wordpress主题 书,seo入门培训课程目录 一、SpringBoot3 介绍 SpringBoot3 简介 SpringBoot3 快速入门 入门总结 1.为什么依赖不需要写版本 2.Startrer#xff08;启动器#xff09;是什么 3.SpringBootApplication 二、SpringBoot3 配置文件 统一配置管理 使用yaml配置文件#xff08;推荐#x…目录 一、SpringBoot3 介绍 SpringBoot3 简介 SpringBoot3 快速入门 入门总结 1.为什么依赖不需要写版本 2.Startrer启动器是什么 3.SpringBootApplication 二、SpringBoot3 配置文件 统一配置管理 使用yaml配置文件推荐 读取配置文件 多环境配置和使用 三、SpringBoot3 整合 SpringMVC 实现过程 SpringMvc相关的配置 静态资源处理 自定义拦截器 四、SpringBoot3 整合 Druid 操作过程 五、SpringBoot3 整合 Mybatis 1.Mybatis整合步骤 2.mybatis整合实践 3.声明式事务整合配置 4.AOP整合配置 六、SpringBoot3 项目打包和运行 一、SpringBoot3 介绍 SpringBoot3 简介 spring的配置文件或配置类太过繁琐当编写微服务项目时每有一个子项目都需要编写对应的配置文件或配置类等。而SpringBoot能帮我们简单快速地创建一个独立生产级别的Spring应用SpringBoot底层是Spring大多数SpringBoot应用只需要编写少量配置即可快速整合Spring平台以及第三方技术。 简单来说SpringBoot整合了Spring简化了开发。 SpringBoot主要目的 为所有spring开发提供更快捷、可广泛访问的入门体验设置合理的默认值也可以根据需求进行适当的调整提供一系列大型项目通用的非功能性程序如内置服务器、安全性、指标、运行检查等约定大于配置基本不需要主动编写配置文件或配置类 总结简化开发简化配置简化整合简化部署简化监控简化运维。 SpringBoot3 系统要求 maven        3.6.3 Tomcat        10.0 Servlet        9.0 JDK             17 SpringBoot3 快速入门 场景通过浏览器发送 /hello 请求返回“HelloSpringBoot 3” 操作步骤 1.创建Maven工程springboot_mvc 2.添加依赖 SpringBoot父工程依赖web启动器依赖 parent !-- 只要把它作为父工程此项目就是一个springboot工程--groupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion3.0.5/version/parentdependencies !-- web启动器--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency/dependencies 3.编写启动引导类SpringBoot项目运行的入口 SpringBootApplication public class Main {public static void main(String[] args) {SpringApplication.run(Main.class,args);//自动创建ioc容器启动tomcat服务器软件} }4.编程处理类controller Controller RequestMapping(hello) ResponseBody public class HelloController {GetMappingpublic String hello(){return HelloSpringBoot 3;}}5.启动项目 运行Main就行 入门总结 1.为什么依赖不需要写版本 父项目spring-boot-starter-parent的父工程spring-boot-dependencies版本仲裁中心中把常见的依赖版本都声明好了。 2.Startrer启动器是什么 SpringBoot提出了Starter的概念它是一组预定义的依赖项集合旨在简化Spring项目的配置和构建过程。Starter包含了一组相关依赖项以便在启动项目时自动引入需要的库配置和功能 注意不仅仅是导入库。 像上面项目中导入了spring-boot-starter-web这个启动器以往要web开发需要导入依赖spring-webmvcservletjson等还要写对应的配置文件或配置类。但web启动器内部帮我们导入web相关的依赖还帮我们导入一些相应的web配置。  Start启动器有两种官方提供和第三方提供。 官方提供的一般命名为spring-boot-starter-* 第三方提供的一般命名为*-spring-boot-starter 官方启动器Developing with Spring Boothttps://docs.spring.io/spring-boot/docs/current/reference/html/using.html?spmwolai.workspace.0.0.68b623067jPfWP#using.build-systems.starters 启动器与依赖传递 依赖传递是MAVEN底层实现它并不全面如要使用mybatis需要导入mysqldruidmybatis。 启动器是人为根据开发场景设置的会根据场景包装对应的依赖如mybatis的启动器就会包含对应的依赖和配置。 3.SpringBootApplication SpringBootApplication添加到启动类上是一个组合注解它的子注解有 SpringBootConfiguration EnableAuotConfiguration ComponentScan SpringBootConfiguration声明当前类是配置类如果之后想要添加ioc对象可以直接在该类下添加。 SpringBootApplication public class Main {public static void main(String[] args) {SpringApplication.run(Main.class,args);}Beanpublic Object object(){return new Object();} }EnableAutoConfiguration自动加载配置类加载我们编写的配置类和SpringBoot内部自带的配置类。 ComponentScan默认扫描当前类所在包以及子包的注解。 Main方法中的SpringApplication.run(Main.class, args)的功能为 1.创建ioc容器加载配置 2.启动内置的tomcat服务器 二、SpringBoot3 配置文件 统一配置管理 SpringBoot项目下进行统一配置管理如何想设置的参数端口号项目根路径数据库连接信息等等都集中在一个固定位置和命名的配置文件application.properties、application.yml、application.yaml中。 配置文件应该放在SpringBoot工程的src/main/resources目录下。因为此目录是SpringBoot默认的类路径classpath配置文件会被自动加载并可供应用程序访问。 在这个配置文件中使用两种方式设置参数 1.固定的key配置参数官方提供 Common Application Propertieshttps://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html?spmwolai.workspace.0.0.68b623067jPfWP#appendix.application-properties 2.自定义key配置参数示例application.properties格式 如qiu.nameqiu 在组件中可以使用Value(${key})接收参数 #使用SpringBoot提供的key修改程序的参数 server.port81 #项目访问根路径 server.servlet.context-path/qiu #自定义key配置参数 qiu.nameqiu qiu.age22 Controller RequestMapping(hello) ResponseBody public class HelloController {Value(${qiu.name})private String name;GetMappingpublic String hello(){System.out.println(name);return HelloSpringBoot 3;}} 使用yaml配置文件推荐 yaml语法1.数据结构有树状结构呈现通过缩进表示层级 2.连续的项目集合通过减号- 来表示减号后面有一个空格 3.键值结构key/value使用: 冒号后面有一个空格 4.yaml配置文件的拓展名为yml或yaml server:port: 82servlet:context-path: /qiu qiu:user:name: qiuage: 22py:- a- b- c 读取配置文件 方式1Value(${key})该注解本身使用的是di注入因此使用该注解的类需要放到ioc容器。 Data Component public class User {Value(${qiu.user.name})private String name;Value(${qiu.user.age})private int age;Value(${qiu.user.py})private ListString py; }Value注解key必须写全而且只能读取单个值。 方式2ConfigurationProperties注解将注解内prefix指向要赋值的key那一层。 该注解会把对应的属性赋值只有类中属性名与指定的那一层key值相同才会赋值 qiu:user:name: qiu2age: 23py:- a- b- cpys:sex: 1 Data Component ConfigurationProperties(prefix qiu.user) public class User { // Value(${qiu.user.name})private String name; // Value(${qiu.user.age})private int age; // Value(${qiu.user.py})private ListString py;private String sex; }该测试无误。 多环境配置和使用 在开发一个项目过程中会有不同的时期开发测试生产。对应不同的时期所使用的配置参数可能不同数据库日志级别等等。 这时我们可以在application.yaml(properties)之外再创建 文件名如application-test.yamlapplication-*.yaml的配置文件再使用application.yaml中的spring.profiles.active: test来激活application-test.yaml。 当配置文件内容太多时也可以使用该方法如druid的配置内容可以放在application-druid.yaml。 如果有多个配置文件需要激活在后面加 , 分隔。如application-test.yamlapplication-dev.yaml可以在application.yaml中使用spring.profiles.active: test,dev。 如果配置文件有重复的key会按顺序覆盖。 当项目完成后会被打成一个jar包我们在执行项目时可以添加命令在启动项目时动态指定要激活哪个配置。 三、SpringBoot3 整合 SpringMVC 实现过程 创建maven项目 继承父工程spring-boot-starter-parent 导入web开发场景的启动器spring-boot-starter-web 定义启动类 SpringBootApplication public class Main {public static void main(String[] args) {SpringApplication.run(Main.class,args);} } 编写controller层 Controller ResponseBody RequestMapping(/hello) public class HelloController {GetMappingpublic String hello(){return 你好springboot;}} 运行启动类即可访问localhost:8080/hello SpringMvc相关的配置 server.port        端口号 server.servlet.context-path        项目访问根路径 spring.resources.static.locations        静态资源的位置 spring.http.encoding.charset        Http请求的字符编码 spring.http.encoding.enabled        响应的字符编码 静态资源处理 我们如何访问项目静态资源 方式1将资源放到默认的文件夹 classpath:/META-INF/resources/classpath:/resources/该文件夹与项目自带的resources文件夹不同classpath:/static/classpath:/public/ 方式2使用spring.web.resources.static-locations: … 修改 自定义拦截器 1.声明拦截器 public class MyInterceptor implements HandlerInterceptor {Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {System.out.println(MyInterceptor.preHandle);return true;} }2.创建配置类 Configuration public class WebConfig implements WebMvcConfigurer {Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new MyInterceptor());} } 只要配置类放在启动类的包或子包下SpringBoot就会自动扫描。 四、SpringBoot3 整合 Druid 整合Druid连接池一般整合两个功能数据库连接池功能和监控页面。 但暂时只整合连接池功能因为druid 1.2.18 目前对springboot3整合并不是很好。 操作过程 1.导入依赖 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion3.0.5/version/parentgroupIdcom.atguigu/groupIdartifactIdspringboot-starter-druid-04/artifactIdversion1.0-SNAPSHOT/versionpropertiesmaven.compiler.source17/maven.compiler.sourcemaven.compiler.target17/maven.compiler.targetproject.build.sourceEncodingUTF-8/project.build.sourceEncoding/propertiesdependencies!-- web开发的场景启动器 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!-- 数据库相关配置启动器 jdbctemplate 事务相关--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-jdbc/artifactId/dependency!-- druid启动器的依赖 --dependencygroupIdcom.alibaba/groupIdartifactIddruid-spring-boot-3-starter/artifactIdversion1.2.18/version/dependency!-- 驱动类--dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.28/version/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion1.18.28/version/dependency/dependencies!-- SpringBoot应用打包插件--buildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build/project 2.配置文件编写 spring:datasource:# 连接池类型 type: com.alibaba.druid.pool.DruidDataSource# Druid的其他属性配置 springboot3整合情况下,数据库连接信息必须在Druid属性下!druid:url: jdbc:mysql://localhost:3306/springbootusername: rootpassword: 123456driver-class-name: com.mysql.cj.jdbc.Driver# 初始化时建立物理连接的个数initial-size: 5# 连接池的最小空闲数量min-idle: 5# 连接池最大连接数量max-active: 20# 获取连接时最大等待时间单位毫秒max-wait: 60000# 申请连接的时候检测如果空闲时间大于timeBetweenEvictionRunsMillis执行validationQuery检测连接是否有效。test-while-idle: true# 既作为检测的间隔时间又作为testWhileIdel执行的依据time-between-eviction-runs-millis: 60000# 销毁线程时检测当前连接的最后活动时间和当前时间差大于该值时关闭当前连接(配置连接在池中的最小生存时间)min-evictable-idle-time-millis: 30000# 用来检测数据库连接是否有效的sql 必须是一个查询语句(oracle中为 select 1 from dual)validation-query: select 1# 申请连接时会执行validationQuery检测连接是否有效,开启会降低性能,默认为truetest-on-borrow: false# 归还连接时会执行validationQuery检测连接是否有效,开启会降低性能,默认为truetest-on-return: false# 是否缓存preparedStatement, 也就是PSCache,PSCache对支持游标的数据库性能提升巨大比如说oracle,在mysql下建议关闭。pool-prepared-statements: false# 要启用PSCache必须配置大于0当大于0时poolPreparedStatements自动触发修改为true。在Druid中不会存在Oracle下PSCache占用内存过多的问题可以把这个数值配置大一些比如说100max-pool-prepared-statement-per-connection-size: -1# 合并多个DruidDataSource的监控数据use-global-data-source-stat: truelogging:level:root: debug 3.创建pojo类和controller层 Data public class User {private Integer id;private String name;private Integer age;private String email; } Controller RequestMapping(user) ResponseBody public class UserController {Autowiredprivate JdbcTemplate jdbcTemplate;GetMappingpublic ListUser show(){String sql select * from user;ListUser users jdbcTemplate.query(sql,new BeanPropertyRowMapper(User.class));return users;} }当导入jdbc启动器springboot会帮我们完成配置类的加载JdbcTemplate会自动放到ioc容器中我们需要时注入就行。 4.编写启动类并启动 启动项目时会报错因为springboot3和druid 1.2.18 不兼容缺少自动装配的配置文件。druid版本为1.2.20时已兼容启动时不会报错 解决方法在resources目录下创建 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 文件文件内容为 com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure 五、SpringBoot3 整合 Mybatis 1.Mybatis整合步骤 1.1.导入依赖添加MyBatis和数据库驱动的相关依赖如使用Mysql数据库添加MyBatis和MySQL驱动的依赖。 1.2.配置数据源在application.yaml中配置数据库连接信息urlusernamepassworddrivermybatis的功能配置等。 1.3.创建实体类创建与数据库表对应的实体类。 1.4.创建Mapper接口创建与数据库表交互的Mapper接口。 1.5.创建Mapper接口SQL实现使用mapper.xml文件或注解方式。 1.6创建程序启动类 1.7.注解扫描在启动类上添加MapperScan注解用于扫描和注册Mapper接口。 1.8.使用Mapper接口 2.mybatis整合实践 创建项目springboot-mybatis 导入依赖 parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion3.0.5/version /parentdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion3.0.1/version/dependency!-- 数据库相关配置启动器 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-jdbc/artifactId/dependency!-- druid启动器的依赖 --dependencygroupIdcom.alibaba/groupIdartifactIddruid-spring-boot-3-starter/artifactIdversion1.2.18/version/dependency!-- 驱动类--dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.28/version/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion1.18.28/version/dependency/dependencies 配置文件 server:port: 80servlet:context-path: / spring:datasource:type: com.alibaba.druid.pool.DruidDataSourcedruid:url: jdbc:mysql:///springboot_mybatisusername: rootpassword: 123456driver-class-name: com.mysql.cj.jdbc.Drivermybatis:configuration: # setting配置auto-mapping-behavior: fullmap-underscore-to-camel-case: truelog-impl: org.apache.ibatis.logging.slf4j.Slf4jImpltype-aliases-package: com.qiu.pojo # 配置别名mapper-locations: classpath:/mapper/*.xml # mapperxml位置         druid会报错记得之前的操作。 创建实体类 Data ToString public class User {private String account ;private String password ;private Integer id ; } 创建Mapper接口 public interface UserMapper {ListUser queryAll(); } 创建Mapper接口SQL实现由于application.yaml已经设置了mapperxml的位置因此只需要在resources下创建mapper.Usermapper.xml ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttps://mybatis.org/dtd/mybatis-3-mapper.dtd !-- namespace 接口的全限定符 -- mapper namespacecom.qiu.mapper.UserMapperselect idqueryAll resultTypeuserselect * from user/select/mapper 创建启动类 SpringBootApplication MapperScan(com.qiu.mapper)//mapper接口所在的位置 public class Main {public static void main(String[] args) { // System.out.println(Hello world!);SpringApplication.run(Main.class,args);} } 注解扫描 在启动类上添加MapperScan以前想要mapper接口和mapperxml对应上我们需要为两个文件创建统一的文件路径但springboot可以在application.json中指定mapperxml的路径在启动类上MapperScan上指定mapper接口的路径这样就不需要两个文件的统一路径。 controller操作 Controller ResponseBody RequestMapping(user) public class UserController {Autowiredprivate UserMapper userMapper;GetMappingpublic ListUser getUsers(){return userMapper.queryAll();} }访问localhost:80/user ​ 3.声明式事务整合配置 导入依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-jdbc/artifactId /dependency SpringBoot项目会自动配置一个 DataSourceTransactionManager所以我们只需在方法或者类加上 Transactional 注解就自动纳入 Spring 的事务管理了 Transactionalpublic void addUser(){User user new User();user.setId(4);user.setAccount(user4);user.setPassword(pass4);userMapper.addUser(user);} 4.AOP整合配置 导入依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-aop/artifactId /dependency 直接使用注解即可com.qiu.advice.LogAdvice Component Aspect Order(4) public class LogAdvice {Before(execution(* com..service.*.*(..)))public void before(JoinPoint joinPoint){String classname joinPoint.getClass().getSimpleName();String methodname joinPoint.getSignature().getName();System.out.println(methodname methodname classname classname);} } 六、SpringBoot3 项目打包和运行 在普通的web工程中要打包需要打成war包然后再tomcat服务器中运行。 在springboot工程中由于内置了tomcat所以可以直接打成jar包使用命令执行java -jar xx。 1.添加打包插件不使用插件也可以把项目打成jar包但运行时会找不到项目入口所以需要使用springboot的打包插件 !-- SpringBoot应用打包插件-- buildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins /build 2.打包 3.命令启动和命令参数 命令参数 命令格式java -jar  [选项] [参数] jar文件名 1. -Dnamevalue设置系统属性可以通过System.getProperty()方法在应用程序中获取该属性值。例如java -jar -Dserver.port8080 myapp.jar。 2. -X设置JVM参数例如内存大小、垃圾回收策略等。常用的选项包括            -Xmxsize设置JVM的最大堆内存大小例如 -Xmx512m 表示设置最大堆内存为512MB。            -Xmssize设置JVM的初始堆内存大小例如 -Xms256m 表示设置初始堆内存为256MB。 3. -Dspring.profiles.activeprofile指定Spring Boot的激活配置文件可以通过application-profile.properties或 application-profile.yml文件来加载相应的配置。例如java -jar -Dspring.profiles.activedev myapp.jar。 命令示例java -jar -Dserver.port81 springboot-mybatis-1.0-SNAPSHOT.jar java -jar -Dserver.port81 -Dspring.profiles.activetest,dev springboot-mybatis-1.0-SNAPSHOT.jar
http://www.zqtcl.cn/news/860942/

相关文章:

  • 网站关键词怎么填写找代理商的渠道有哪些
  • 网站开发销售简历范文新建网站网络空间
  • 舟山外贸建站公司制作公司简介
  • 菜鸟是什么网站威海网站建设费用
  • 网站开发花费如何制作个人网页兼职
  • 网站鼠标特效用户体验最好的网站
  • 网站设计步骤图南通网站建设公司
  • 做盗版系统网站会不会开发次元世界
  • 下载爱南宁官方网站手机app开发软件有哪些
  • 云浮网站设计不收费的企业查询网站
  • 网站栏目怎么做iis网站筛选器被挂马
  • 网站开发中遇到的主要问题品牌营销策略包括哪些内容
  • 网站制作易捷网络十大社区团购平台有哪些
  • 哈尔滨口碑好的建站公司做网站制作一般多少钱
  • 河南网站网站制作华为品牌vi设计
  • 网站设置默认主页甘肃省第八建设集团公司网站
  • 自己做网站美工关键词优化排名网站
  • 淄博手机网站建设报价商业网站地方频道
  • 小说网站开发业务逻辑php 网站
  • 专业的做网站动态个人网站模板
  • 设计师网站设计网站开发试题库
  • 做网站是用c 吗东莞网络推广优化
  • 外贸soho网站建设wordpress配置搜索引擎优化
  • 嘉兴网站公司安卓优化大师2023
  • 电影网站开发影院座位问题正能量网站大全
  • dede手机网站更新成安专业做网站
  • 做能支付的网站贵吗品牌策划费用
  • 营销网站开发网站建设工作室
  • 如何把自己做的网站挂网上网页版梦幻西游红色伙伴搭配
  • 网站正在建设中 倒计时软件开发培训机构找极客时间