@SpringBootApplication
@SpringBootApplication 是一个复合注解
主要注解:
@SpringBootConfiguration 主要用于加载配置文件
@EnableAutoConfiguration 主要用于开启自动配置功能
@ComponentScan 主要用于组件扫描和自动装配
@Controller
@RestController
复合注解:
@ResponseBody + @Controller
@GetMapping
@PostMapping
@RequestMapping
get,post,put,delete
四种请求方式@RequestParam
@RequestBody
@PathVariable
RESTFUL类型的参数
比如 : http://URL/getUser/12345
@RequestMapping("/getUser/{uid}")
public String getUser(@PathVariable("uid")Integer id) {
System.out.println("id:"+id);
return "user";
}
@ResponseBody
@Repository
@Service
@Entity
@Id、@Column注解用于标注实体类中的字段
@Scope
@Bean
第三方库中的组件
装配到你的应用中,在这种情况下,是没有办法在它的类上添加@Component注解的,因此就不能使用自动化装配的方案了,但是我们可以使用@Bean)@Autowired
@Component
@PropertySource
@PropertySource(value = {"classpath : xxxx/xxx.properties","classpath : xxxx.properties"})
@ImportResource
@ImportSource(locations={"classpath : xxxx.xml" , "classpath : yyyy.xml"})
@ImportSource(locations= {"file : d:/hellxz/application.xml" , "file : d:/hellxz/dubbo.xml"})
@Import
@Transactional
在Spring中,事务有两种实现方式,分别是编程式事务管理和声明式事务管理两种方式
编程式事务管理
: 编程式事务管理使用TransactionTemplate
或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,spring推荐使用TransactionTemplate。
声明式事务管理
: 建立在AOP之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务
,在执行完目标方法之后根据执行情况提交或者回滚事务,通过@Transactional就可以进行事务操作
,更快捷而且简单。推荐使用
@ControllerAdvice
指定某一个类为异常处理类
,并包含各种类型的异常处理,作用在类上// 定义这个类就是用来处理异常的
@ControllerAdvice
public class GlobalExceptionHandler {
}
@ExceptionHandler
统一处理某一类异常
,从而能够减少代码重复率和复杂度,并生成对应的映射关系,作用在方法上@ControllerAdvice
public class GlobalExceptionHandler {
// 标明这个方法用来处理哪一种异常
@ExceptionHandler(Exception.class)
@ResponseBody
String handleException(){
return "Exception Deal!";
}
}
服务器端三层架构:
表现层 SpringMVC
业务层 Spring
持久层 Mybatis
MVC设计模式:
M -> Model 模型,也就是javaBean,操作的数据或信息
V -> View视图,jsp,html等,用于提供给用户交互
C -> Controller控制器,Servlet,根据View的指令选取Model层的数据,传给View
事务要一般都放在Service层
,Controller如果有需要也可以加,但是不会放在Dao层,因为一个业务可能要处理多次数据库,如果放在Dao层,则第一次操作数据库成功第二次失败的时候就无法完全回滚.
直接在Mapping文件中使用#{name}
public User queryUserById(Integer id);
public List queryUserByNameAndSex(String name, Integer sex);
public List queryUserByNameAndSex(@Param("name") String name,
@Param("sex") Integer sex);
public List queryUserByMap(Map param);
public List queryUserByUser(User user);
public List queryUsersByNameLike(String lastName);
tail -f XXX.log
(最常用)实时
查看日志 tail -n 10 XXX.log 查看后几行cat -n XXX.log |grep "关键字"
(常用)hard -n 10 XXX.log
vim之后 /关键字
查看cat -n test.log |grep "debug" |more 分页打印,(空格键翻页)
su 用户名
或
sudo su 用户名
给你一个GIT地址,如何搭建开发环境,需要向老员工要什么数据?
v-text 可以与{{}}代替(不识别html标签)
v-html 页面添加html元素
v-bind 数据绑定,可以使用 : 代替
v-on 事件绑定,可以使用@代替
v-model 表单元素和数据的双向绑定
v-if v-else 判断
v-show 根据boolean值判断显示不显示
v-for 循环遍历(一定要设置key)
有三个输入框name分别为a1,a2,a3如何将数据逗号隔开传到后台?
使用属性选择器匹配name属性以a开头的输入框
var data;
$("input[name^=a]').each(function(){
data=data+$(this).val()
})
id选择器
类选择器
元素选择器
属性选择器
后代选择器
子选择器
同辈选择器
等其他
参考博客
https://www.php.cn/js-tutorial-378052.html
动态添加类名
对象的形式(文字的颜色)
对象的形式(文字的颜色)
三元表示式(文字的颜色)
数组的形式(文字的颜色)
数组中使用对象(文字的颜色)
通过方法设置class类名