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

如何抄袭网站南通做网站优化公司

如何抄袭网站,南通做网站优化公司,购物网站开发实例,临沂做网站首选一. SpringBoot介绍 1.1. 引言 为了使用SSM框架去开发, 准备SSM框架的模板配置 为了使Spring整合第三方框架, 单独的去编写xml文件 导致SSM项目后期xml文件特别多, 维护xml文件的成本是很高的 SSM工程部署也是很麻烦, 依赖第三方的容器 SSM开发方式很是笨重 1.2 SpringBoot …一. SpringBoot介绍 1.1. 引言 为了使用SSM框架去开发, 准备SSM框架的模板配置 为了使Spring整合第三方框架, 单独的去编写xml文件 导致SSM项目后期xml文件特别多, 维护xml文件的成本是很高的 SSM工程部署也是很麻烦, 依赖第三方的容器 SSM开发方式很是笨重 1.2 SpringBoot SpringBoot是由Pivota团队研发的,. SpringBoot并不是一门新技术, 只是将之前常用的Spring, SpringMVC, MyBatis等常用的框架封装到了一起, 帮助你隐藏这些框架的实现细节, 实现敏捷开发 SpringBoot就是一个工具集 SpringBoot的特点: SpringBoot不需要模板化的配置SpringBoot在整合第三方框架时, 只需要导入响应的starter依赖包, 就自动整合了SpringBoot默认只有一个properties配置文件, 不推荐使用xml, 后期会采用Java的文件去编写配置信息SpringBoot工程在部署时, 采用的是jar包的方式, 内部自动依赖Tomcat容器, 提供了多环境的配置后期要学习的SpringCloud需要建立在SpringBoot的基础上 二. SpringBoot快速入门 2.1 快速构建SpringBoot IDEA中使用Spring Initializr创建SpringBoot项目 创建过程和创建Maven项目区别不大 中间可以选择语言(默认Java), 打包方式(默认Jar), Java版本(默认最新版,我手动改为Java8了), 还有各种依赖的选择(一般选Web) 第一次创建SpringBoot工程时, 会下载大量的依赖, 一定要确保Maven已经配置了私服, 不然可能会下载失败 创建完成后删除目前不需要的文件, 只留下.idea,src目录和pom.xml,以及.iml, .gitignore文件 如果创建过程中没有勾选Web, 则需要在pom.xml中修改依赖 把spring-boot-starter修改为spring-boot-starter-web即可 然后编写Controller进行测试 package com.dz.springboot_study.controller;import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody;Controller RequestMapping(/hello) public class HelloController {RequestMapping(/hello)ResponseBodypublic String hello() {return Hello SpringBoot!;} }启动SpringBoot工程(运行启动类中的main方法) 2.2 SpringBoot的目录结构 pom.xml文件 指定了一个父工程: 指定当前工程为SpringBoot, 帮助我们声明了starter依赖的版本 项目的元数据: 包名, 项目名, 版本号 指定了properties的信息: 指定了java版本为1.8 导入依赖: 默认情况导入spring-boot-starter, spring-boot-starter-test 插件: spring-boot-maven-plugin .gitignore文件: 默认帮我们忽略一些文件和目录 src目录 -src-main-java-包名启动类.java #需要将controller类, 放在启动类的子包中或者同级目录下-resources-static #存放静态资源的-templates #存放模板页面的application.properties #SpringBoot提供的唯一配置文件(可以改为yaml或yml的格式)-test #为了测试2.3 SpringBoot两种启动方式 运行启动类中的main方法即可运行SpringBoot工程 采用jar包的方式 将当前项目打包成一个jar文件 通过java -jar jar文件 三. SpringBoot常用注解 3.1 Configuration和Bean 之前使用SSM去开发时, 在xml文件中编写bean标签, 但是在SpringBoot不推荐使用xml文件 导入lombok依赖(正常使用lombok还需在IDEA中下载插件) !--lombok-- dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId /dependencyConfiguration注解相当于bean标签 Bean注解相当于bean标签 id“方法名 | 注解中的name属性” class“方法的返回结果” Configuration//代表当前类是一个配置类 public class UserConfig {Bean(name user1) //构建一个实例, 放进Spring容器中public User user() {return new User(张三,18,true);}/** 以上写法相当于在.xml文件中的* beans* bean iduser1 classcom.dz.pojo.User/* /beans* */ }3.2 SpringBootApplication SpringBootApplication就是一个组合注解SpringBootConfiguration就是Configuration注解, 代表启动类就是一个配置类EnableAutoConfiguration是用来实现自动装配的, SpringBoot工程启动时, 运行一个SpringFactoriesLoader的类, 加载META-INF/spring.factories配置类(已经开启的), 通过SpringFactoriesLoader中的load方法, 以while循环的方式, 一个一个加载好处: 无需编写大量的整合配置信息, 只需按照SpringBoot提供好的约定去整合即可坏处: 如果说我们导入了一个starter依赖, 那么就需要填写其对应的配置信息,否则就会报错手动关闭自动装配指定内容: SpringBootApplication(exclude QuartzAutoConfiguration.class)ComponentScan就相当于context:component-scan base-Package“包名” / 帮助扫描注解的 四. SpringBoot常用配置 4.1 SpringBoot的配置文件格式 SpringBoot配置文件支持properties和yml, 甚至还支持json 更推荐使用yml文件格式 yml文件, 会根据换行和缩进帮助我们管理配置文件的所在位置 yml文件, 相比properties更轻量级一些 yml文件的劣势: 严格遵循换行和缩进 在填写value时, 一定要在: 后面加上一个空格 4.2 多环境配置 在application.yml中添加一个配置项 spring:profiles:active: 环境名在resources目录下, 创建多个application-环境名 .yml 文件即可 在部署工程时 通过java -jar jar文件 --spring.profiles.active环境 4.3 引入外部配置文件信息 和传统的SSM方式一样, 通过Value的注解去获取properties/yml文件中的内容 如果在yml文件中需要编写大量的自定义配置, 并且具有统一的前缀时, 采用如下方式 Component ConfigurationProperties(prefix person) Data public class Person {private String name;private Integer age;private Boolean happy;private Date birth;private MapString, Object map;private ListObject list;private Dog dog;} person:name: 张三age: ${random.int}happy: truebirth: 2000/01/01map: {k1: v1,k2: v2}list: [code,music,girl]dog:name: 小黑age: 2使用ConfigurationProperties注解时会出现爆红提示, 但不影响使用, 如想要消除爆红, 导入以下依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-configuration-processor/artifactIdoptionaltrue/optional /dependency4.4 热加载 导入以下依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-devtools/artifactIdoptionaltrue/optional /dependency修改IDEA设置 Settings Build,Execution Compiler 勾选Build project automatically 之后项目内容修改后,只需Build一下即可,无需重新部署项目 五. SpringBoot整合MyBatis 5.1 xml方式整合MyBatis 5.1.1 导入依赖 !--mysql驱动-- dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactId /dependency !--druid连接池-- dependencygroupIdcom.alibaba/groupIdartifactIddruid-spring-boot-starter/artifactIdversion1.1.10/version /dependency !--mybatis-- dependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion1.3.2/version /dependency5.1.2 准备实体类 数据库表准备完成后, 可以手动创建实体类, 也可以使用IDEA自动创建实体类, 这里我们使用第二种 IDEA连接MySQL, 出现时区问题加上Asia/Shanghai 选中要建实体类的表 右键选择Scripted Extensions Generate Pojos.groovy, 然后选择实体类创建的位置 //部门表 package com.dz.pojo;import lombok.Data;import java.io.Serializable;Data public class TDepartment implements Serializable {private Integer id;private String name;private String location;} //员工表 package com.dz.pojo;import lombok.Data;import java.io.Serializable;Data public class TEmployee implements Serializable {private Integer id;private String name;private double salary;private TDepartment department;}5.1.3 准备Mapper接口 package com.dz.mapper;import com.dz.pojo.TEmployee; import org.springframework.stereotype.Repository;import java.util.List;Repository(empMapper) public interface EmpMapper {ListTEmployee findAll(); }5.1.4 扫描Mapper接口所在的包 在启动类上添加注解, 扫描Mapper接口所在的包 MapperScan(basePackages com.dz.mapper)5.1.5 准备Mapper映射文件 resources目录下创建mapper目录, 用来存放Mapper映射文件 EmpMapper.xml ?xml version1.0 encodingUTF-8? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtdmapper namespacecom.dz.mapper.EmpMapperresultMap idemp_resultMap typeTEmployeeid columnid propertyid/result columnname propertyname/result columnsalary propertysalary/association propertydepartment javaTypeTDepartmentid columndpt_id propertyid/result columndpt_name propertyname/result columnlocation propertylocation//association/resultMap!--ListTEmployee findAll();--select idfindAll resultMapemp_resultMapselect emp.id,emp.name,salary,dpt.id dpt_id,dpt.name dpt_name,dpt.locationfrom t_employee empjoin t_department dpton emp.dept_iddpt.id/select /mapper5.1.6 添加yml文件配置信息 MyBatis设置 扫描映射文件 配置实体类别名 #MyBatis设置 mybatis:#扫描映射文件mapper-locations: classpath:mapper/*.xml#配置别名扫描的包, 别名实体类类名type-aliases-package: com.dz.pojo#开启驼峰映射配置configuration:map-underscore-to-camel-case: true5.1.7 指定连接数据库的信息 #连接数据库的信息 spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql:///mybatis_dbusername: rootpassword: 8031type: com.alibaba.druid.pool.DruidDataSource5.1.8 测试 直接在EmpMapper接口双击接口名选中右键 Go to Test 选中我们要测试的方法findAll, 就会自动创建当前接口的测试类EmpMapperTest.java 给SpringBoot的主测试类加一个public, 然后让我们的EmpMapperTest测试类继承SpringBoot的主测试类, 就可以进行测试了 package com.dz.mapper;import com.dz.Springboot02ConfigApplicationTests; import com.dz.pojo.TEmployee; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired;import java.util.List;class EmpMapperTest extends Springboot02ConfigApplicationTests {Autowiredprivate EmpMapper empMapper;Testvoid findAll() {ListTEmployee tEmployees empMapper.findAll();for (TEmployee tEmployee : tEmployees) {System.out.println(tEmployee);}} }如果出现timezone之类的错误,就在.yml中的数据库连接配置中的url后面加上?serverTimezoneAsia/Shanghai, 因为SpringBoot默认导入的mysql是8.X的 5.2 注解方式整合MyBatis 5.2.1 创建Department的Mapper接口 package com.dz.mapper;import com.dz.pojo.TDepartment; import org.apache.ibatis.annotations.Param;import java.util.List;Repository(dptMapper) public interface DptMapper {//查询所有部门ListTDepartment findAll();//根据id查一个部门TDepartment findOneById(Param(id) Integer id); }5.2.2 添加MyBatis注解 针对增删改查: Insert, Delete, Update, Select 但还是需要在启动类中添加MapperScan(basePackages “com.dz.mapper”)注解的, 只是不用在.yml配置文件中配置.xml文件的扫描和实体类别名了 package com.dz.mapper;import com.dz.pojo.TDepartment; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select;import java.util.List;Repository(dptMapper) public interface DptMapper {Select(select * from t_department)ListTDepartment findAll();Select(select * from t_department where id#{id})TDepartment findOneById(Param(id) Integer id); }5.2.3 测试, 看到执行的sql语句 #查看sql语句 logging:level:com.dz.mapper: debug package com.dz.mapper;import com.dz.Springboot02ConfigApplicationTests; import com.dz.pojo.TDepartment; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired;import java.util.List;class DptMapperTest extends Springboot02ConfigApplicationTests {Autowiredprivate DptMapper dptMapper;Testvoid findAll() {ListTDepartment departments dptMapper.findAll();for (TDepartment department : departments) {System.out.println(department);}}Testvoid findOneById() {TDepartment department dptMapper.findOneById(1);System.out.println(department);} }5.3 SpringBoot整合分页助手 5.3.1 导入依赖 !--分页助手PageHelper-- dependencygroupIdcom.github.pagehelper/groupIdartifactIdpagehelper-spring-boot-starter/artifactIdversion1.3.0/version /dependency5.3.2 测试使用 package com.dz.mapper;import com.dz.Springboot02ConfigApplicationTests; import com.dz.pojo.TEmployee; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired;import java.util.List;class EmpMapperTest extends Springboot02ConfigApplicationTests {Autowiredprivate EmpMapper empMapper;Testvoid findAll() {ListTEmployee tEmployees empMapper.findAll();for (TEmployee tEmployee : tEmployees) {System.out.println(tEmployee);}}Testvoid findAllByPage() {//1. 执行分页PageHelper.startPage(1,2);//2. 执行查询ListTEmployee employees empMapper.findAll();//3. 封装PageInfo对象PageInfoTEmployee pageInfo new PageInfo(employees);//4. 输出for (TEmployee employee : pageInfo.getList()) {System.out.println(employee);}} }
文章转载自:
http://www.morning.hjlsll.com.gov.cn.hjlsll.com
http://www.morning.rfhwc.cn.gov.cn.rfhwc.cn
http://www.morning.pjrql.cn.gov.cn.pjrql.cn
http://www.morning.schwr.cn.gov.cn.schwr.cn
http://www.morning.swsrb.cn.gov.cn.swsrb.cn
http://www.morning.yhwyh.cn.gov.cn.yhwyh.cn
http://www.morning.lwnb.cn.gov.cn.lwnb.cn
http://www.morning.qnrpj.cn.gov.cn.qnrpj.cn
http://www.morning.ktsth.cn.gov.cn.ktsth.cn
http://www.morning.wqmyh.cn.gov.cn.wqmyh.cn
http://www.morning.mnslh.cn.gov.cn.mnslh.cn
http://www.morning.synlt.cn.gov.cn.synlt.cn
http://www.morning.cwkcq.cn.gov.cn.cwkcq.cn
http://www.morning.sjpbh.cn.gov.cn.sjpbh.cn
http://www.morning.qcdtzk.cn.gov.cn.qcdtzk.cn
http://www.morning.thrtt.cn.gov.cn.thrtt.cn
http://www.morning.zdmrf.cn.gov.cn.zdmrf.cn
http://www.morning.srtw.cn.gov.cn.srtw.cn
http://www.morning.qjldz.cn.gov.cn.qjldz.cn
http://www.morning.grfhd.cn.gov.cn.grfhd.cn
http://www.morning.sgbss.cn.gov.cn.sgbss.cn
http://www.morning.gnbtp.cn.gov.cn.gnbtp.cn
http://www.morning.cltrx.cn.gov.cn.cltrx.cn
http://www.morning.rbrd.cn.gov.cn.rbrd.cn
http://www.morning.hyhqd.cn.gov.cn.hyhqd.cn
http://www.morning.jcjgh.cn.gov.cn.jcjgh.cn
http://www.morning.stcds.cn.gov.cn.stcds.cn
http://www.morning.cbmqq.cn.gov.cn.cbmqq.cn
http://www.morning.zcxjg.cn.gov.cn.zcxjg.cn
http://www.morning.xrrbj.cn.gov.cn.xrrbj.cn
http://www.morning.rkdzm.cn.gov.cn.rkdzm.cn
http://www.morning.kphsp.cn.gov.cn.kphsp.cn
http://www.morning.qflcb.cn.gov.cn.qflcb.cn
http://www.morning.snbry.cn.gov.cn.snbry.cn
http://www.morning.kndt.cn.gov.cn.kndt.cn
http://www.morning.clyhq.cn.gov.cn.clyhq.cn
http://www.morning.sxfmg.cn.gov.cn.sxfmg.cn
http://www.morning.kfjnx.cn.gov.cn.kfjnx.cn
http://www.morning.mfsxd.cn.gov.cn.mfsxd.cn
http://www.morning.sqgsx.cn.gov.cn.sqgsx.cn
http://www.morning.bqxxq.cn.gov.cn.bqxxq.cn
http://www.morning.tllhz.cn.gov.cn.tllhz.cn
http://www.morning.bbjw.cn.gov.cn.bbjw.cn
http://www.morning.pcjw.cn.gov.cn.pcjw.cn
http://www.morning.zrqs.cn.gov.cn.zrqs.cn
http://www.morning.zmwd.cn.gov.cn.zmwd.cn
http://www.morning.txqsm.cn.gov.cn.txqsm.cn
http://www.morning.tralution.cn.gov.cn.tralution.cn
http://www.morning.qnbzs.cn.gov.cn.qnbzs.cn
http://www.morning.qhvah.cn.gov.cn.qhvah.cn
http://www.morning.lrybz.cn.gov.cn.lrybz.cn
http://www.morning.jfsbs.cn.gov.cn.jfsbs.cn
http://www.morning.bbgr.cn.gov.cn.bbgr.cn
http://www.morning.xfmwk.cn.gov.cn.xfmwk.cn
http://www.morning.hbqfh.cn.gov.cn.hbqfh.cn
http://www.morning.qkrz.cn.gov.cn.qkrz.cn
http://www.morning.rhchr.cn.gov.cn.rhchr.cn
http://www.morning.nbqwt.cn.gov.cn.nbqwt.cn
http://www.morning.tdmr.cn.gov.cn.tdmr.cn
http://www.morning.ltpmy.cn.gov.cn.ltpmy.cn
http://www.morning.sjsks.cn.gov.cn.sjsks.cn
http://www.morning.ghlyy.cn.gov.cn.ghlyy.cn
http://www.morning.wdqhg.cn.gov.cn.wdqhg.cn
http://www.morning.lrmts.cn.gov.cn.lrmts.cn
http://www.morning.pabxcp.com.gov.cn.pabxcp.com
http://www.morning.qlrwf.cn.gov.cn.qlrwf.cn
http://www.morning.fdxhk.cn.gov.cn.fdxhk.cn
http://www.morning.rfmzc.cn.gov.cn.rfmzc.cn
http://www.morning.pqxjq.cn.gov.cn.pqxjq.cn
http://www.morning.trfh.cn.gov.cn.trfh.cn
http://www.morning.jfsbs.cn.gov.cn.jfsbs.cn
http://www.morning.lbcfj.cn.gov.cn.lbcfj.cn
http://www.morning.sqskm.cn.gov.cn.sqskm.cn
http://www.morning.zymgs.cn.gov.cn.zymgs.cn
http://www.morning.fznj.cn.gov.cn.fznj.cn
http://www.morning.pbwcq.cn.gov.cn.pbwcq.cn
http://www.morning.tqbyw.cn.gov.cn.tqbyw.cn
http://www.morning.4r5w91.cn.gov.cn.4r5w91.cn
http://www.morning.smj79.cn.gov.cn.smj79.cn
http://www.morning.cyfsl.cn.gov.cn.cyfsl.cn
http://www.tj-hxxt.cn/news/264784.html

相关文章:

  • me域名网站大施品牌策划公司
  • 建网站域名注册后需要网站建设大庆
  • 京紫元年深圳网站建设杭州seo排名费用
  • 海南做网站的百度点击器下载
  • 淘宝网站做动漫网站需要服务器么
  • 石景山网站建设推广免费网站友情链接
  • 山东住房和城乡建设厅网站注册中心怎样在国外网站上做外贸广告
  • 个人网站logo图片内容营销策略分析
  • 龙岩做网站设计公司连城住房和城乡建设局门户网站
  • 类似百科式的网站建设seo优化网站模板
  • iis v6 新建网站那个网站做图片好
  • 工业网站模板个人网页制作手写模板
  • 上传自己做的网站免费创建网站平台有哪些
  • 高端网站建设收费为何比较贵韶关建设局网站
  • 广东省一流高职院校建设专题网站中国未来楼市走势分析
  • 电子商务网站建设域名中国最好的网络营销公司
  • 在线分析网站js网站繁体
  • 望京SOHO网站建设中天建设集团有限公司官网
  • 东昌府网站建设公司下载浙江平安建设信息系统网站
  • 网站建设doc建筑公司logo设计大全
  • 网站管理怎么做建筑英才网招聘网
  • 西安的商城网站设计手机上能搭建网站吗
  • 外贸网站怎么做关键词设计本笔记本
  • 淘宝网站建设方案毕业设计客户关系管理的定义
  • 西宁整站优化旅游商城网站模板免费下载
  • 二维码制作网站有哪些河北省做网站的企业
  • wordpress建站好用吗东莞网站公司排名
  • 哪些行业做网站最重要国外做二手服装网站有哪些问题
  • 介绍常见的网络营销方式seo投放
  • 网站建设代码题手表网站建设