创建、删除、复制、移动、重命名文件和文件夹的命令分别是什么?
文件夹:
创建mkdir dirname
删除rmdir dirname
移动或重命名一个目录:mvdir dir1 dir2文件:touch filename
删除文件:rm filename
改变文件名或所在目录:mv file1 file2/dir
什么是gradle,gradle的作用是什么,查看gradle任务、运行测试、启动应用的命令分别是什么?
gradle 是自动化构建工具
查看任务./gradle tasks
运行测试./gradle test
启动./gradle runBoot
gradle配置文件中,buildscript的设置和普通的设置有什么区别?
buildscript中的声明是gradle脚本自身需要使用的资源。可以声明的资源包括依赖项、第三方插件、maven仓库地址等。而在build.gradle文件中直接声明的依赖项、仓库地址等信息是项目自身需要的资源。
gradlew的作用是什么?为什么要用它?
利用Gradle可以构建易描述的、可维护的、简洁的、高性能项目。
为什么用它:
1.声明式构建,具有可扩展性。
2.Gradle 对多项目的支持是非常出色的. 允许用户模拟在多项目构建中项目的关系
3.Gradle 可以兼容任何结构,所以易迁徙
4.Gradle 的构建脚本是通过 Groovy 编写而不是 XML, 就像胶水一样, 把你像实现的构想和抽象的 Gradle 粘在一起.
5.免费和开源
举例说明Java中接口、抽象类、类的区别?
抽象类
public abstract class Demo
{
abstract void foo1();
void foo2(){
}
}
接口
interface Demo
{
void foo1();
void foo2();
}
类
class Demo{
public void foo1(){.......}
public void foo2(){.......}
}
区别
1.关键字不同 分别是 abstract interface class
2.接口和抽象类不能实例化,而类可以实例化
3.接口全是抽象方法,但不用abstract修饰,类没有抽象方法,抽象类含有抽象方法,用abstract修饰。
4.类一般表示实体,接口一般表示方法。
举例说明Java中Collections、Arrays、Map、HashMap、TreeMap、Collection、List、ArrayList、Set、HashSet、TreeSet的区别和联系?
以上都属于java的集合框架的类或接口
Collections是针对集合类的一个帮助类
例如:Collections.max(Collection coll); 取coll中最大的元素。Collections.sort(List list); 对list中元素排序
Java中有一个Arrays类,专门用来操作array
若撰写程序时不知道究竟需要多少对象,需要在空间不足时自动扩增容量,则需要使用容器类库,array不适用,则使用Collection/Map,这两个是接口。
其中,List继承了Collection,它的元素可以重复。ArrayList / LinkedList 是List的子类。
Set同样继承Colleciton,但它与List的区别是它不能含有重复的元素。HashSet / TreeSet是它的子类。
Map是一种把键对象和值对象进行关联的容器。同样是接口,HashMap、TreeMap是它的实现类。
类方法和实例方法有什么区别,什么时候用类方法、什么时候用实例方法?
类方法
类方法只能访问类的成员变量,不能访问实例变量;实例方法不仅可以访问类的成员变量,也可以访问实例变量。
类方法只能调用类方法,而实例方法可以调用类方法跟实例方法
类方法里面的self是class,而实例方法的self是对象的首地址
对于类的成员变量跟实例变量来说,主要看是否创建一个新对象来进行访问
什么时候:如果某个方法是用频率较高,或者方法本身通用性较强,无需初始化类成员变量,则可以类方法。
HTTP无状态是指什么?
协议对于事务处理没有记忆能力对同一个url请求没有上下文关系每次的请求都是独立的
它的执行情况和结果与前面的请求和之后的请求是无直接关系的
它不会受前面的请求应答情况直接影响,也不会直接影响后面的请求应答情况服务器中没有保存客户端的状态
客户端必须每次带上自己的状态去请求服务器
HTTP的返回的状态码有哪几类?常见的有哪些?分别表示什么含义?
1** 信息,服务器收到请求,需要请求者继续执行操作
2** 成功,操作被成功接收并处理
3** 重定向,需要进一步的操作以完成请求
4** 客户端错误,请求包含语法错误或无法完成请求
5** 服务器错误,服务器在处理请求的过程中发生了错误
200 - 请求成功
201-请求成功并创建新资源
204-无内容。服务器成功处理,但未返回内容。在未更新网页的情况下,可确保浏览器继续显示当前文档
205-重置内容
301 - 资源(网页等)被永久转移到其它URL
302-临时移动
401-请求用户的身份验证
403-拒绝操作
404 - 请求的资源(网页等)不存在
500 - 内部服务器错误
HTTP方法主要有哪几种,区别是什么?
get 获取
post 新增
put 更新
delete 删除
为什么RESTful API的URI中不能出现动词,画图说明RESTful API是怎么对资源进行操作的?
1561506437711_.pic.jpg因为 URI是表示资源的
写出对一个用户增删改查的操作的API,包括查询参数、RequestBody、ResponseBody和ResponseStatus?
获取用户
get:api/user/{user_id}@GetMaping @ResponseStatus(HttpStatus.OK)
参数@PathVariable{user_id} String userid修改用户年龄
put:api/user/add?name=zhangsan&age=12
@PutMapping
@ResponseStatus(HttpStatus.NO_CONTENT)
参数@RequestParam("name") String name, @RequestParame("age") int age添加用户
post:api/admin/users
@PostMapping
@ResponseStatus(HttpStatus.OK)
参数@RequestBody User user
画图说明Spring MVC的概念是什么,各部分之间是怎么相互工作的。
1571506438771_.pic.jpgModel(模型)表示应用程序核心(比如数据库记录列表)。
View(视图)显示数据(数据库记录)。
Controller(控制器)处理输入(写入数据库记录)。
首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。
举例说明Spring Controller 中URL Mapping是怎么匹配的?
/api/user
@RequestMapping("api/users")
继续添加子目录shoppingCar,可以在底下继续添加@RequestMapping("/shoppingCar")
有参数的情况
如:/api/user/{userid}
@PostMapping(value="userid")
/api/user?age=12
@PutMapping(param="age")
Spring MVC中多个同名的param会在服务端怎么解
析
1.拼接成字符串,用逗号隔开
2.将同名参数存在数组里
举例说明IoC控制反转中对什么的控制反转了?解释标记@Autowired之后,为什么没有初始化也可以直接使用?
不用Ioc:Service service=new Service();
使用Ioc:
@Autowire
Service service
Ioc容器来控制service对象的创建。
标记了以后,Ioc容器帮助我们根据类的类型创建对象。
Spring中常用的依赖注入方式有哪几种?
构造器
set注入
静态工厂
实例工厂
Springboot中@Component、@Service、@Repository、@Bean、@Confituration区别和联系。
@Controller用于标注控制层组件(如struts中的action)
@Repository用于标注数据访问组件,即DAO组件
@Service用于标注业务层组件
@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。
@Configuration。标注一个类为配置类。
@Repository、@Service 和 @Controller这 3 个注释和 @Component 是等效的,但是这 3 个注释分别和持久层、业务层和控制层(Web 层)相对应。
@Bean 用在方法上,告诉Spring容器,你可以从下面这个方法中拿到一个Bean
**怎么实现Spring Data JPA里的一对多,多对多,一对一? **
一对多@OneToMany 或@ManyToOne
一对一@OneToOne
多对多@ManyToMany
如何控制Spring Data JPA里的一对多,一对一,多对多的lazy loading
设置级联 CascadeType.REFRESH,
CascadeType.All,
设置懒加载fetch = FetchType.LAZY
网友评论