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

建设考试网站首页线上宣传方式有哪些

建设考试网站首页,线上宣传方式有哪些,哪里培训做网站,网站怎样做收录会更好搭建项目环境创建新项目,选择archetype-webapp,创建一个父项目,该父项目会去管理多个微服务模块(module)项目设置Settings->Editor->File Encoding:Global/Project Encoding 改为UTF-8Default encoding for properties files:默认属性文…

搭建项目环境

  1. 创建新项目,选择archetype-webapp,创建一个父项目,该父项目会去管理多个微服务模块(module)

  1. 项目设置

  • Settings->Editor->File Encoding:Global/Project Encoding 改为UTF-8

  • Default encoding for properties files:默认属性文件编码 改为UTF-8

  • Settings->Build..->Compiler->Java Compiler: Module ,Target bytecode version改为8

  1. 整体删除src目录。这是一个聚合的父项目,所以删了干净一点。

  1. 配置父工程pom.xml,作为聚合其它模块

  • 表明是一个父工程,聚合管理其他模块

<packaging>war</packaging>    改成
<packaging>pom</packaging>
  • 从1.7修改成8

  <properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><!--下面是新增的配置,指定版本--><junit.version>4.12</junit.version><!--说明:使用最新版本log4j,防止安全漏洞--><log4j.version>2.17.2</log4j.version><lombok.version>1.18.20</lombok.version><mysql.version>5.1.47</mysql.version><druid.version>1.1.17</druid.version><mybatis.spring.boot.version>2.2.0</mybatis.spring.boot.version></properties>
  • 删除依赖。因为是父工程,不进行具体依赖。由子工程进行。

<dependencies>及其子标签
  • 删除<build>及其字标签

  • 管理依赖及版本

 <!--使用dependencyManagement管理子项目的依赖和版本。本身仅用于锁定版本,并不引入依赖jar--><dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>2.2.2.RELEASE</version><!--说明:1.<type>pom 和<scope>import 组合使用2.用来解决maven单继承的问题。同时继承SpringBoot项目,和SpringCloud项目--><type>pom</type><scope>import</scope></dependency><!--配置spring-cloud。注意版本与spring-boot之间的对应关系--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Hoxton.SR1</version><type>pom</type><scope>import</scope></dependency><!--配置spring-boot-cloud-alibaba--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2.1.0.RELEASE</version><type>pom</type><scope>import</scope></dependency><!--配置mysql,版本引用上面指定的--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql.version}</version></dependency><!--配置druid--><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>${druid.version}</version></dependency><!--配置springboot整合mybatis--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>${mybatis.spring.boot.version}</version></dependency><!--使用的高版本,修复了一些高危漏洞--><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j</artifactId><version>${log4j.version}</version></dependency><!--测试使用--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>${junit.version}</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>${lombok.version}</version></dependency></dependencies></dependencyManagement>

dependencyManagement细节说明:

1、Maven使用dependencyManagement元素来提供了一种管理依赖版本号的方式。通常在项目<packaging>为POM中使用dependencyManagement元素。

2、使用pom.xml中的dependencyManagement元素能让所有在子项目中引用一个依赖,Maven会沿着父子层次向上走,直到找到一个拥有dependencyManagement元素的项目,然后它就会使用这个dependencyManagement元素中指定的版本号。

3、好处:如果有多个子项目都引用同一样依赖,则可以避免在每个使用的子项目里都声明一个版本号当升级或切换到另一个版本时,只需要在顶层父容器里更新,而不需要分别在子项目的修改:另外如果某个子项目需要另外的一个版本,只需要声明version就可。

4、dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显示的声明需要用的依赖。

5、如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom

6、如果子项目中指定了版本号,那么会使用子项目中指定的jar版本


创建会员中心微服务模块-service provider

思路分析/图解

  1. 创建Module & 完成配置

  1. 创建member-service-provider-10000微服务模块【提供会员服务】

  • new Module...->maven->finish

  • 检查该子模块的pom.xml,看parent父项目内容是否正确

  • 检查父项目的pom.xml,看module内容是否正确

b. 子项目pom.xml引入相关依赖

    <dependencies><!--使用版本仲裁--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--说明:starter-actuator是springboot程序的监控系统,可实现系统的健康检测可以通过http://localhost:10000/actuator看到相关的连接和信息--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><!--引入mybatis,整合到springboot--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId></dependency><!--引入druid-spring-boot-starter,这个和druid不一样,因为父项目没有,不指定版本会报错--><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.17</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId></dependency></dependencies>

c.创建 子项目/resources/application.yml

server:port: 10000
spring:application:name: member-service-provider-10000 #配置应用的名称。可以自定义,这儿保持一致了datasource:type: com.alibaba.druid.pool.DruidDataSource #指定使用的数据源url: jdbc:mysql://localhost:3306/furn_ssm?useSSL=true&useUnicode=true&characterEncoding=utf-8username: rootpassword: rootmybatis:mapper-locations: classpath:mapper/*.xml #指定mapper.xml文件位置type-aliases-package: com.stein.springcloud.entity #指明实体类所在包别名,可以通过类名直接引用

d. 创建主启动类

@SpringBootApplication
public class MemberApplication {public static void main(String[] args) {SpringApplication.run(MemberApplication.class,args);}
}
  1. 创建数据库/表

  • 注意表的编码格式:charset=utf8;之前前端新建数据出错,就是这儿没有设置导致的。

CREATE DATABASE e_commerce_center_db
USE e_commerce_center_dbCREATE TABLE member(
id BIGINT NOT NULL AUTO_INCREMENT COMMENT 'id',
`NAME` VARCHAR(64) COMMENT '用户名',
pwd CHAR(32) COMMENT'密码',
mobile VARCHAR(20) COMMENT'手机号码',
email VARCHAR(64) COMMENT'邮箱',
gender TINYINT COMMENT '性别',
PRIMARY KEY (id)
)charset=utf8;INSERT INTO member VALUES
(NULL,'smith',MD5('123'),'123456789000','smith@sohu.com',1);
  1. 创建entity->dao/Mapper.xml->service->controller

  • entity类

  • Member

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Member {private long id;private String name;private String pwd;private String mobile;private String email;private Integer gender;
}
  • Result 返回集

public class Result <T>{private String code;private String msg;private T data;public String getCode() {return code;}public void setCode(String code) {this.code = code;}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}public T getData() {return data;}public void setData(T data) {this.data = data;}//    无参构造器public Result(){}//有参构造器public Result(T data){this.data=data;}//成功方法返回-无参public static Result success(){Result result = new Result<>();result.setCode("200");result.setMsg("success");return result;}//    泛型方法public static <T>Result<T> success(T data){Result<T> result = new Result<>(data);result.setCode("200");result.setMsg("success");return result;}//错误-无返回datapublic static Result error(String code,String msg){Result result = new Result<>();result.setCode(code);result.setMsg(msg);return result;}//错误-有返回datapublic static <T> Result<T> error(String code,String msg,T data){Result<T> result = new Result<>(data);result.setCode(code);result.setMsg(msg);return result;}
}
  • Dao层。这个项目使用的是Mybatis(不是Plus版本)

  • 创建接口。注意DAO层的注解在接口

@Mapper
public interface MemberDao {Member queryById(Long id);int addMember(Member member);
}
  • 用xml实现接口

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC"-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--这是Mybatis的头文件。Plus直接在类里面实现的-->
<!--namespace对应实现的类-->
<mapper namespace="com.stein.springcloud.dao.MemberDao"><resultMap id="BaseResultMap" type="Member"><id property="id" column="id" jdbcType="BIGINT"/><id property="name" column="name" jdbcType="VARCHAR"/><id property="pwd" column="pwd" jdbcType="VARCHAR"/><id property="mobile" column="mobile" jdbcType="VARCHAR"/><id property="email" column="email" jdbcType="VARCHAR"/><id property="gender" column="gender" jdbcType="TINYINT"/></resultMap><select id="queryById" parameterType="Long" resultMap="BaseResultMap">select * from `member` where `id`=#{id}</select><insert id="addMember" parameterType="Member" useGeneratedKeys="true" keyProperty="id">insert into `member`(name,pwd,mobile,email,gender) values(#{name},md5(#{pwd}),#{mobile},#{email},${gender})</insert></mapper>
  • 测试

@Slf4j
@SpringBootTest
public class MemberTest {@Resourceprivate MemberDao memberDao;@Testpublic void selectById(){Member member = memberDao.queryById(1l);log.info("member={}",member);}@Testpublic void save(){Member member = new Member(null, "王强", "wangqiang", "13000000000", "wangqiang@soho.cn", 1);int affected = memberDao.addMember(member);log.info("affected={}",affected);}
}
  • service层

  • 创建接口

public interface MemberService {Member queryById(Long id);int addMember(Member member);
}
  • 实现接口。注意service层的注解在实现类

@Service
public class MemberServiceImpl implements MemberService {@Resourceprivate MemberDao memberDao;@Overridepublic Member queryById(Long id) {return memberDao.queryById(id);}@Overridepublic int addMember(Member member) {return memberDao.addMember(member);}
}
  • 测试

@Slf4j
@SpringBootTest
public class MemberTest {@Resourceprivate MemberDao memberDao;@Resourceprivate MemberService memberService;@Testpublic void selectById(){Member member = memberService.queryById(1l);log.info("member={}",member);}@Testpublic void save(){Member member = new Member(null, "王强", "wangqiang", "13000000000", "wangqiang@soho.cn", 1);int affected = memberService.addMember(member);log.info("affected={}",affected);}
}
  • controller层

@RestController
public class MemberController {@Resourceprivate MemberService memberService;@GetMapping("/member/query/{id}")public Result selectById(@PathVariable("id")Long id){Member member = memberService.queryById(id);if(member != null){return Result.success(member);}else{return Result.error("402","id="+id+"的member不存在");}}//表单方式提交的数据,不需要@RequestBody@PostMapping("/member/add")public Result addMember(Member member){int affected = memberService.addMember(member);if(affected>0){return Result.success(member);}else{return Result.error("401","添加member失败");}}
}

4、完成测试

使用postman进行测试。

注意事项和细节

1、我们的前端如果是以json格式来发送添加信息furn,那么我们需要使用@RequestBody,才能将数据封装到对应的bean,同时保证http的请求头的content-type是对应

2、如果前端是以表单形式或者是以parameters提交,则不需要使用@RequestBody,才会进行对象封装,同时保证http的请求头的content-type是对应的

3、在进行SpringBoot应用程序测试时,引入的JUnit是org.junit.jupiter.api.Test

4、在运行程序时,一定要确保你的XxxxMapper.xml文件被自动放到的target目录的classes指定的目录

http://www.yidumall.com/news/61095.html

相关文章:

  • 什么都不懂能去干运维吗网络seo培训
  • 网站建设需要哪些常用技术江苏seo团队
  • 日文网站设计产品运营方案
  • qq网页版登录官网登录入口网站获客软件
  • c 的动态网站开发百度竞价多少钱一个点击
  • 微信游戏网站源码怎么做神马移动排名优化
  • 用家里的路由器做网站站长工具seo综合查询网
  • 自己做网站 需要会什么网络营销推广渠道
  • 云南省建设厅勘察设计处网站百度seo营销公司
  • wordpress snow 3dseo是什么职位简称
  • 中国的网站域名是什么重庆seo排名扣费
  • 免费网站建设模板网络营销特点
  • 网站隐私条款模板百度推广费用一天多少钱
  • 千兆共享独享网站优化培训方式
  • 青海建设厅操作证查询网站seoshanghai net
  • 罗湖医院网站建设重庆seo推广
  • 网站及建设中页面网站模板
  • 做党建网站职业技能培训学校
  • 上海专业的网站公seo搜索引擎优化人才
  • 做民宿要给网站多少合同钱黑龙江网络推广好做吗
  • 10大免费软件下载网站海外短视频跨境电商平台是真的吗
  • 厦门专业做网站 厦门做网站的公司 厦门做服饰网站百度搜索风云榜游戏
  • phpcms做网站好吗全球搜钻
  • 网站建设如何做搜索引擎营销的实现方法有
  • 广州网站设计制作报价免费云服务器
  • 微信手机官方网站首页青岛谷歌推广
  • 铁岭做网站公司哪家好网络营销都具有哪些功能
  • 有那个网站做外贸肇庆百度快照优化
  • 德州商城网站建设google商店
  • 公司网站策划方案搜索引擎营销的主要方法