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

借用备案网站跳转做淘宝客网站推广软件价格

借用备案网站跳转做淘宝客,网站推广软件价格,一个网站开发时间,ml免费域名注册SpringBoot springboot也是spring公司开发的一款框架。为了简化spring项目的初始化搭建的。 特点specialty#xff1a; springboot的特点: 1#xff09; 自动配置 Spring Boot的自动配置是一个运行时#xff08;更准确地说#xff0c;是应用程序启动时#xff09;的过程 springboot的特点: 1 自动配置 Spring Boot的自动配置是一个运行时更准确地说是应用程序启动时的过程考虑了众多因素才决定Spring配置应该用哪个不该用哪个。该过程是SpringBoot自动完成的。 2 起步依赖 起步依赖本质上是一个Maven项目对象模型Project Object ModelPOM定义了对其他库的传递依赖这些东西加在一起即支持某项功能。 简单的说起步依赖就是将具备某种功能的坐标打包到一起并提供一些默认的功能。 3 辅助功能 提供了一些大型项目中常见的非功能性特性如嵌入式服务器tomcat、安全、指标健康检测、外部配置等。 创建Create 搭建springboot的项目 新建选择Spring Boot|Spring Initializr SpringBoot版本3.0以上使用java17选择Web中SpringWeb包(剩下的看需求) Java8配置------------------------------------ ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactId!--springboot3.0以上必须使用jdk17--version2.3.12.RELEASE/versionrelativePath/ !-- lookup parent from repository --/parentgroupIdcom.ykq/groupIdartifactIdqy174-demo01/artifactIdversion0.0.1-SNAPSHOT/versionnameqy174-demo01/namedescriptionqy174-demo01/description ​properties!--java使用版本--java.version8/java.version/propertiesdependencies!--web依赖jar--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency ​!--单元测试jar--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency/dependencies   !--如果下方出现红色可以删除--buildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build ​ /project环境|文件配置: 关于SpringBoot的配置文件和框架使用 常用的配置文件种类: springboot提供了两种配置文件。不管是哪种他们的前缀都是application 第一种application.properties 第二种:application.yml | application.yaml 如果两个文件同时存在,properties优先级更高。 #.yml | .yaml文件写入格式(:后务必跟空格然后再写入值,字符串无须) #key: # value: hhh # key2: value server:port: 8088servlet:context-path: /bbb #properties写入格式(字符串无须) #keyvalue #key.key2value server.port8080 server.servlet.context-path/aaa *包扫描的原理 ssm项目必须加包扫描。而现在springboot没有在写包扫描了。自带了包扫描的功能。核心在主类上SpringBootApplication上它是一个复合注解。里面包含: EnableAutoConfiguration开启自动配置里面包含: AutoConfigurationPackage, Import({AutoConfigurationPackages.Registrar.class}) 需要导入一个自动配置包的类。加载主类所在的包并按照该包进行扫描。 SpringBootApplication ​ ComponentScan(basePackages {com.gzx.demo1.config,com.gzx.demo1.controller}) //不写该注释默认扫描该文件所在的包,加上该注释指定扫描的包,默认扫描消失; ​ public class Demo1Application { ​public static void main(String[] args) {SpringApplication.run(Demo1Application.class, args);} ​ } 自动装配原理: 我们原来ssm项目都需要加载前端控制器DispatcherServlet. 而现在的springboot并没有加载DispatcherServlet。 springboot具备自动装配的功能。 127个自动装配 springboot启动时加载了使用SpringbootApplication注解的类该注解是一个符合注解包含EnableAutoConfiguration该注解开启了自动装配功能该注解也是一个符合注解里面包含Import({AutoConfigurationImportSelector.class})导入AutoConfigurationImportSelector该类自动装配选择器类该类会自动加载很多自动装配。每个自动装配会完成对于的自动装配功能 protected AutoConfigurationEntry getAutoConfigurationEntry(AnnotationMetadata annotationMetadata){if(!this.isEnabled(annotationMetadata)){return EMPTY_ENTRY;} eles {AnnotationAttrbutes attributes this. getAttributes(annotationMetadata);//获取所有的自动装配类ListString configurations this.getCandidateConfigurations(annotationMetadata,attrbutes);//移除重复的自动装配类configurations this.removeDuplicates(configurations); ​SetString exclusions this.getExclusions(annotationMetadata,attributes); ​this.checkExcludedClasses(configurations,exclusions);//移除排除的自动配置类configurations.removeAll(exclusions);//过滤掉没有使用的starter自动配置configurations this.getConfigurationClassFilter().filter(configurations); ​this.fireAutoConfigurationImporEvents(configurations,exclusions); ​return new AutoConfigurationEntry(configurations,exclusion);} } *读取配置文件中的内容 我们习惯把一些自己的信息放入配置文件中便于修改。比如OSS. 支付。 我们还希望通过java代码能够读取到配置文件中自己的信息。 springboot提供了两种方式用于读取springboot配置文件中信息的方式。 第一种: ConfigurationProperties 使用在类上 ConfigurationProperties(prefix前缀) #配置文件 users.namehhh users.age123 users.hobbyswim,basketball ConfigurationProperties(prefix users)//定义读取属性名 Component//该类的创建spring,而且创建时自动读取配置文件为users的属性 Data public class User {private String name;private int age;private ListString hobby; } 第二种: Value 使用在变量上 Value(${类名.变量名})(只能读取基本类型和字符串类型) RestController public class TestController {//将属性文件中变量给予注释变量Value(${users.name})private String name; ​//访问地址GetMapping(/user)public String test(){System.out.println(name);return name;} } *profile多环境配置 自理解: 通过不同的配置文件切换spring配置,再主配置文件中进行便捷切换; 我们在开发Spring Boot应用时通常同一套程序会被安装到不同环境比如开发、测试、生产等。其中数据库地址、服务器端口等等配置都不同如果每次打包时都要修改配置文件那么非常麻烦。profile功能就是来进行动态配置切换的。 profile配置文件 多profile文件方式,yml多文档方式 profile激活方式 配置文件|命令行参数 常用命名方式: application-(命名).properties [自定义的配置文件] 相同配置依然还是放在application.properties中 application-dev.properties [开发环境的配置文件] application-test.properties [测试环境的配置文件] application-pro.properties [生产环境的配置文件] 激活对应配置文件: 第一种:配置文件内 #激活对应环境的配置文件spring.profiles.active命名 spring.profiles.activedev 第二种:命令行使用 java –jar xxx.jar --spring.profiles.activedev 注册web组件|过滤器 自理解 将ssm的xml配置文件改为类中声明使用 web组件表示的就是servlet,filter组件。 创建一个Servlet public class MyServlet extends HttpServlet {Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println(经过MyServlet);} } ​ public class MyFilter implements javax.servlet.Filter {Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {System.out.println(经过DoFilter);} } 创建一个配置类 Configuration //表示该类为配置类等价于之前的xml配置文件 public class MyConfig { ​Bean //等价于bean标签.public ServletRegistrationBean  myServlet(){ServletRegistrationBean beannew ServletRegistrationBean();bean.setServlet(new MyServlet());bean.setName(my);bean.setLoadOnStartup(1);bean.addUrlMappings(/my);return bean;} ​Beanpublic FilterRegistrationBean myFilter() {FilterRegistrationBean bean new FilterRegistrationBean();bean.setFilter(new MyFilter());bean.setName(filter);bean.addUrlPatterns(/*);return bean;} } 整合第三方框架: 整合mybatis 引入依赖 dependencies dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId /dependency !--mysql的驱动依赖 3.-- dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactId /dependency ​ !--mybatis和springboot整合的jar.-- dependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion3.0.3/version /dependency ​ ​ dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional /dependency dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope /dependency /dependencies ​ 配置文件 spring.application.nameqy174-springboot-mybatis ​ #数据源的信息 spring.datasource.driver-class-namecom.mysql.cj.jdbc.Driver spring.datasource.urljdbc:mysql://localhost:3306/qy174-springboot?serverTimezoneAsia/Shanghai spring.datasource.usernameroot spring.datasource.passwordroot ​ ​ #配置mybatis映射文件的路径 mybatis.mapper-locationsclasspath:mapper/*.xml 实体类 Data public class User { private Integer userid; private String username; private String sex; private Integer age; } dao public interface UserDao { int insert(User user); int delete(Integer id); int update(User user); User select(Integer id); ListUser selectAll(); } 映射文件 ?xml version1.0 encodingUTF-8? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.ykq.dao.UserDao ​ insert idinsertinsert into user(username,age,sex) values(#{username},#{age},#{sex}) /insert update idupdateupdate user set username#{username},age#{age},sex#{sex} where userid#{userid} /update delete iddeletedelete from user where userid#{id} /delete select idselectById resultTypecom.ykq.entity.Userselect * from user where userid#{id} /select select idselectAll resultTypecom.ykq.entity.Userselect * from user /select ​ /mapper service Service public class UserServiceImpl implements UserService { Autowired private UserDao userDao; Override public R selectAll() {ListUser users userDao.selectAll();return new R(200,查询成功,users); } ​ Override public R selectById(Integer id) {User user userDao.selectById(id);if(usernull){return new R(500,查询失败,null);}else{return new R(200,查询成功,user);} } ​ Override public R insert(User user) {int i userDao.insert(user);if(i0){return new R(200,添加成功,null);}return new R(500,添加失败,null); } ​ Override public R update(User user) {int update userDao.update(user);if (update0){return new R(200,修改成功,null);}return new R(500,修改失败,null); } ​ Override public R delete(Integer id) {int i userDao.delete(id);if (i0){return new R(200,删除成功,null);}return new R(500,删除失败,null); } } ​ controller RestController RequestMapping(/user) public class UserController { ​ Autowired private UserService userService; GetMapping(/list) public R list() {return userService.selectAll(); } ​ //getById/1 GetMapping(/getById) public R getById(Integer id) {return userService.selectById(id); } ​ DeleteMapping(/deleteById) public R deleteById(Integer id) {return userService.delete(id); } ​ PostMapping(/insert) public R insert(RequestBody User user) {return userService.insert(user); } ​ PutMapping(/update) public R update(RequestBody User user) {return userService.update(user); } } ​ 问题集: 没有为dao生成代理实现类 方法1: SpringBootApplication ​ //使用该注释为dao包类内的mapper类生成代理实现类 MapperScan(basePackages {com.gzx.dao}) ​ public class Demo1Application { ​public static void main(String[] args) {SpringApplication.run(Demo1Application.class, args);} ​ } 方法2: //在需要生成的mapper类代理实现类中写该注释 Mapping NoClassDefFoundError: 导包异常 java,lang.NoClassDefFoundError:org/springframework/aot/AoDetecor mybatis和springboot整合的版本太高。 DispatcherServletAutoConfiguration类: //创建Servlet注册器-[DispatchServlet以及路径] DispatcherServletRegistrationBean registration new DispatcherServletRegistrationBean(dispatcherServlet,webMvcPrpert...)
http://www.hkea.cn/news/14574643/

相关文章:

  • 云南网站建设维修公司哪家好app下载网站免费
  • 安徽网站优化好不好免费crm软件
  • wordpress企业建站教程 百度 下载重庆正云环保工程有限公司网页制作
  • 中国建设网官方网站下载e路最新版主流建站公司
  • 深圳网站建设公司有哪些内容成都app开发
  • 网站制作网站建设个人可以做导航网站吗
  • 成都建设公司网站百度seo新规则
  • 内网网站 建设目标我的个人网站 的网页设计
  • 视频网站开发架构浙江城乡和住房建设网
  • 做纯净系统的网站代理游戏网站
  • 网页制作官方网站泰州做网站软件
  • 怎样建设网站公司做网站是什么专业
  • 南充市住房和城乡建设厅网站北京外贸网站设计备案
  • 做网站公司青浦灯饰如何做网站推广
  • 深圳营销型网站制作佛山新网站建设平台
  • 做网站编辑我能力得到提升紫网站建设
  • 做动漫的网站四川建设网站官网
  • 新网站设计最简单的软件怎么做网站8uftp
  • 手机如何开发软件濮阳网站怎么做seo
  • 怎样给网站做关键词优化游戏搜索风云榜
  • 北京开发办网站搬家公司网站模板
  • 怎样做网站表白wordpress只换域名
  • 建立网站的相关信息台州网络推广
  • 网站都是h5响应式上海闵行是郊区吗
  • 长春火车站防疫政策开发小程序需要哪些技术
  • 做金融必看网站html网页设计介绍
  • php网站开发过程网站建设那里
  • 只能在线观看的电影网站咋么做常平网站
  • 济南免费做网站漯河小学网站建设
  • 沈阳百度网站的优点wordpress 登录后页面空白页