项目一:学习笔记

1、注解

1.1、@ApiOperation

@ApiOperation注解不是Spring自带的,它是是swagger里的
需要导入的poml依赖是:Swagger2
@ApiOperation是用来构建Api文档的
@ApiOperation(value = “接口说明”, httpMethod = “接口请求方式”, response =“接口返回参数类型”, notes = “接口发布说明”;
value=“说明方法的用途、作用” notes=“方法的备注说明”

1.2、@Api

@Api:用在请求的类上,表示对类的说明
tags=“说明该类的作用,可以在UI界面上看到的注解”
value=“该参数没什么意义,在UI界面上也看到,所以不需要配置”

1.3、@Autowired

@Autowired为Spring提供的注解,需要导入包org.springframework.beans.factory.annotation.Autowired。
@Autowired采取的策略为按照类型注入。
他可以对类成员变量、方法及构造函数进行注入,完成自动装配的工作,通过@Autowired的使用消除set和get方法

1.4、@PreAuthorize

开启@EnableGlobalMethodSecurity(prePostEnabled = true)注解, 在继承 WebSecurityConfigurerAdapter 这个类的类上面贴上这个注解
并且prePostEnabled设置为true,@PreAuthorize这个注解才能生效

@PreAuthorize 注解 方法前拦截判断是否有权限
@ss标签对应的PermissionService
hasPermi方法

1.5、@ApiModel

在实体类上边使用,标记类时swagger的解析类
提供有关swagger模型的其它信息,类将在操作中用作类型时自动内省
在这里插入图片描述

1.6、@ApiModelProperty

使用在被 @ApiModel 注解的模型类的属性上
在这里插入图片描述

1.7、@Transactional

只能应用到 public 可见度的方法上
如果你在 protected、private 或者package-visible 的方法上使用@Transactional 注解,它也不会报错,但是这个被注解的方法将不会展示已配置的事务设置。
通常情况下我们在需要对一个service方法添加事务时,加上这个注解,如果发生unchecked exception,就会发生rollback

1.8、@TableField

字段注解(非主键)
在这里插入图片描述
注意:value的值值**“驼峰命名法”**,该值可无。如果我们开启了驼峰命映射,那么就没有必要在@TableField注解里面写value的属性了
在这里插入图片描述
在这里插入图片描述

1.9、spring注解转载

https://www.cnblogs.com/lalalagq/p/9750908.html

2.java的项目分层详情

2.1、PO(bean、entity等命名):

Persistant Object持久对象,数据库表中的记录在java对象中的显示状态
最形象的理解就是一个PO就是数据库中的一条记录。
好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象。

2.2、BO(service、manager、business等命名):

主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。
形象描述为一个对象的形为和动作,当然也有涉及到基它对象的一些形为和动作。比如处理一个人的业务逻辑,有睡觉,吃饭,工作,上班等等形为还有可能和别人发关系的形为。
这样处理业务逻辑时,我们就可以针对BO去处理。

2.3、VO(from也有此写法) :

主要体现在视图的对象,对于一个WEB页面将整个页面的属性封装成一个对象。然后用一个VO对象在控制层与视图层进行传输交换。

2.4、DTO (经过处理后的PO,可能增加或者减少PO的属性):

主要用于远程调用等需要大量传输对象的地方。
比如我们一张表有100个字段,那么对应的PO就有100个属性。
但是我们界面上只要显示10个字段,
客户端用WEB service来获取数据,没有必要把整个PO对象传递到客户端,
这时我们就可以用只有这10个属性的DTO来传递结果到客户端,这样也不会暴露服务端表结构.到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为VO

2.5、POJO(POJO是一种概念或者接口,身份及作用随环境变化而变化) :

POJO有一些Private的参数作为对象的属性。然后针对每个参数定义了get和set方法作为访问的接口
POJO是一个简单的普通的Java对象,它不包含业务逻辑或持久逻辑等,但不是JavaBean、EntityBean等,不具有任何特殊角色和不继承或不实现任何其它Java框架的类或接口。
POJO对象有时也被称为Data对象,大量应用于表现现实中的对象
一个POJO持久化以后就是PO。直接用它传递、传递过程中就是DTO。直接用来对应表示层就是VO

2.6、DAO(Data Access Object数据访问对象):

主要用来封装对数据库的访问。通过它可以把POJO持久化为PO,用PO组装出来VO、DTO

2.7、Controller控制层主要是Action/Servlet等构成(目前Spring MVC则是通过@Controller标签使用)

此层业务层与视图层打交道的中间层,负责传输VO对象和调用BO层的业务方法,负责视图层请求的数据处理后响应给视图层。
在这里插入图片描述
在这里插入图片描述

3.SSM

在这里插入图片描述

4、介绍mapper中的xml

4.1

映射文件中的namespace是用于绑定Dao接口的

例如:定义TestDao

public interface TestDAO
{
   List<Article> selectAllArticle();
}

对用的映射文件:

<mapper namespace="TestDAO">
    <select id="selectAllArticle" resultType="article">
            SELECT t.* FROM T_article t WHERE t.flag = '1' ORDER BY t.createtime DESC
     </select>

MyBatis的命名空间说的是POJO的XXx.xml文件中的,主要是跟三个地方有关系,

第一个是Configuration.xml的mappers属性
第二个是POJO的mapper接口如EmployeeMapper的类路径
第三个是DAO程序中的session.getConfiguration().addMapper(EmployeeMapper.class)

4.2 <resultMap …>

## 4.3 转载mapper中的各个标签 https://blog.csdn.net/cwx397562/article/details/100334210
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值