Web的一部分知识总结

一.搭建框架

1.创建项目

①使用Spring Initializer创建项目,建议使用IDE创建
//若官网start.sprint.io无法链接,可切换到阿里云镜像start.aliyun.com,但spring boot的版本可能存在差异 
//可在官网页面创建,并无本质区别,IDE可检测jdk


②构建工具:Maven
//对于构建Java程序,Maven出现时间早,支持范围更广,使用xml编码更易阅读;Gradle支持增量构建,性能更强,使用groovy或kotlin语言,对于初学者有一定的要求


③JDK版本,根据个人安装的情况选择,本项目使用jdk1.8,Java语言版本8
//高级的语言版本具有更多的语言特性,尤其是集合API上,更方便易用,但新版本对于反射增加了限制,本项目的自定义授权机制因为要使用反射,因此选择8具备更高的灵活性


④打包方式Jar(官方推荐)
//spring boot内置了web容器,jar包直接运行;若已存在外部web容器可使用war打包


⑤spring boot版本(2.7.6),在官网当时提供的版本中选择,尽量选择发行版本


⑥选择依赖
 

2.相关配置文件 

①pom.xml
//项目对象模型(Project Object Model)是Maven工程的基本工作单元,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖。若需要添加其他依赖,可在pom中添加。
//pom文件中指定源码文件编码为UTF-8
//pom中配置maven打包跳过测试,或忽略测试失败


②application.yml
//application.properties→application.yml,应用程序配置文件的格式由properties修改为yml,yml文件的结构更为清晰
//yml中配置数据源,包括驱动类、数据库地址、用户名、密码等
//yml中配置数据库架构变化时的更新策略为update:必要时才更新。其他还有全部删除后更新、每次会话删除更新等。开发时配置为update;在项目部署后,可将该项配置为none,避免在生产数据库中更新造成数据丢失
//yml中配置jpa的show-sql为true,方便开发时在控制台查看和定位问题


③为不同的环境添加个性化的应用程序配置文件
//比如开发环境下的application-dev.yml和生产环境下的application-prd.yml,将共同的配置留在application.yml中


④不同环境的yml文件,指定个性化配置
//比如端口号生产环境80、开发环境8xxx,比如不同的数据源地址、用户名密码等


⑤在默认的yml配置文件中,指定当前生效的配置文件,只需要指定后缀
 

3.启动应用测试 

①可在控制台看输出,出现Started XXXApplication in xxx seconds,表示运行成功


②可在yml中配置日志级别,开发时输出详细信息,生产环境根据需要记录关键信息
③应用启动并测试成功后,将创建的项目框架推送到远程仓库

二.异常处理

1.定义错误页面

①添加首页(resources/templates/index.html)及相应Controller
    --添加控制器注解
    --添加index方法
    --添加路由注解
②添加404和500页面
③运行测试,分别访问首页、制造错误访问其他两个页面

2.自定义错误处理

①添加自定义异常类(业务异常类BusinessException和资源不存在异常类NotFoundException)
②添加统一的异常处理类PracticeExceptionHandler
    --使用ControllerAdvice注解把所有Controller作为切面统一提供错误处理功能
    --添加专门处理业务异常的方法,使用ExceptionHandler注解
    --添加通用的异常处理方法,使用ExceptionHandler注解
    --还可使用ModelAttribute注解添加全局数据

3.自定义错误页面

①添加Thymleaf依赖
②完成error页面

5.接口专用错误处理类

①添加handlers文件夹,并添加专用于RESTful接口异常的处理类ApiExceptionHandler
②使用注解指定处理的类型为RestController
③在内部定义一个类型ExceptionWrapper专用于包装异常信息
④添加异常处理方法,同样使用ExceptionHandler注解,返回异常包装类对象
⑥在完成接口开发后,制造异常以测试该异常处理类

三.相关的注解

在Web开发中,注解(Annotation)是一种用于为代码添加元数据的方式。它们可以用于描述、配置和控制代码的行为和特性。下面是一些常见的Web注解和方法:

1.Java Servlet 注解:
  • @WebServlet:用于声明一个Servlet。
  • @WebFilter:用于声明一个过滤器。
  • @WebListener:用于声明一个监听器
2.Spring MVC 注解:
  • @Controller:用于声明一个控制器。
  • @RequestMapping:用于映射请求URL和处理方法。
  • @RequestParam:用于获取请求参数的值。
  • @ResponseBody:用于将方法返回值直接写入HTTP响应体。
3.JAX-RS(Java API for RESTful Web Services)注解:
  • @Path:用于声明资源类或方法的路径。
  • @GET、@POST、@PUT、@DELETE:用于声明HTTP请求方法。
  • @PathParam:用于获取路径参数的值。
  • @QueryParam:用于获取查询参数的值。
4.Hibernate 注解:
  • @Entity:用于声明一个实体类。
  • @Table:用于指定实体类对应的数据库表。
  • @Id:用于标识实体类的主键属性。
  • @Column:用于指定实体类属性和数据库表字段的映射关系。
5.Spring Security 注解:
  • @Secured:用于限制方法访问的权限。
  • @PreAuthorize、@PostAuthorize:用于在方法执行前后进行权限检查。
  • @RolesAllowed:用于指定允许访问的角色。
6.Spring 注解:
  • @Component:通用的组件注解,标识一个类为Spring的组件。
  • @Service:用于声明一个服务类。
  • @Repository:用于声明一个数据访问类。
7.JPA(Java Persistence API)注解:
  • @PersistenceContext:用于注入EntityManager实例。
  • @OneToMany、@ManyToOne、@OneToOne、@ManyToMany:用于定义实体类之间的关联关系。
8.Validation 校验注解:
  • @NotNull、@NotEmpty、@NotBlank:用于声明字段不能为空或非空。
  • @Size:用于声明字段的长度范围。
  • @Pattern:用于声明字段的格式必须符合指定的正则表达式。
9.Swagger 注解:
  • @Api:用于声明一个API接口。
  • @ApiOperation:用于描述一个操作。
  • @ApiParam:用于描述操作的参数。
10.Lombok 注解:
  • @Data:用于自动生成getter、setter、toString等方法。
  • @NoArgsConstructor、@AllArgsConstructor:用于生成构造方法。
11.AspectJ 切面注解:
  • @Aspect:用于声明一个切面。
  • @Before、@After、@Around:用于声明切面的通知类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值