常用注解:
控制器
@Controller
控制器,处理http请求
请求参数
@RequestMaping()
将http请求响应到控制器,required不允许值为空
@GetMapping,@PostMapping
获取http的get,post请求
@PathVariable
获取url中的数据
@RequestParam(value="",required=“false/true”)
获取请求参数的值
@CookieValue
获取Cookie值
注入Bean
@Service
作用在类上,被@Service标记的类会被Spring扫描并注入为Bean
@Bean
表面生产一个bean方法,并交给spring容器管理
@Autowired
Bean的自动注入
数据库实体类
@Entity
实体类注解
@Table(name="")
注释在实体类上,对应数据库中相应的表
@Id
注释在实体类参数标注为数据库表Id
@Column
注释在实体类参数标注为数据库表参数
@GeneratedValue(strategy=GenerationType.IDENTITY)
注释在实体类参数标注为数据库为自增
@JsonIgnoreProperties({“hibernateLazyInitializer”})
注释在数据库实体类中防止数据类型出错
导入配置文件
@component
把普通的pojo实例化到spring容器中,相当于配置文件
@PropertySource
引入properties文件
@Import
导入额外的配置信息
异常处理
@ControllerAdvice
同一处理异常
@ExceptionHandler
注解异常处理方法
AOP
public class 名称 implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
//实现拦截器
Object user=request.getSession().getAttribute("session");
if (user!=null){
return true;
}
request.setAttribute("键","值");
request.getRequestDispatcher("跳转页面").forward(request,response);
return false;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
}
}
//cookie和session
public String login(HttpSession httpSession,
HttpServletResponse response
){
httpSession.setAttribute(键,值); //创建session
//创建cookie
Cookie cookie= new Cookie(键,值);
response.addCookie(cookie);
}
@Configuration
public class MyMvcconfig implements WebMvcConfigurer {
@Override//重定向
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("").setViewName("");
}
@Override//aop的实现拦截器
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new 拦截器类).addPathPatterns("拦截页面")
.excludePathPatterns(“放过页面”);
}
}
一些有用的yml配置
spring:
#数据库配置
datasource:
url: jdbc:mysql://地址/数据名
username: 数据库用户名
password: 数据库密码
driver-class-name: com.mysql.jdbc.Driver 数据库驱动(新版本有个时区设置这里使用旧版本)
#jpa配置
jpa:
hibernate:
#更新或创建数据表
ddl-auto: update
#控制台显示sql
show-sql: true
#thymleaf 禁用缓存
thymeleaf:
cache: false
#手动配置springboot put请求
mvc:
hiddenmethod:
filter:
enabled: true
一些常用的资源包xml配置
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-thymeleafartifactId>
dependency>
<dependency>
<groupId>org.webjarsgroupId>
<artifactId>bootstrapartifactId>
<version>4.4.1-1version>
dependency>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-data-jpaartifactId>
dependency>
<dependency>
<groupId>mysqlgroupId>
<artifactId>mysql-connector-javaartifactId>
<version>5.1.47version>
<scope>runtimescope>
dependency>
jpa
//继承JpaRepository来完成对数据库的操作
public interface 接口名称 extends JpaRepository<实体类名称,主数据类型>, JpaSpecificationExecutor<实体类名称> {
}
jpa操作文档
thymeleaf
th:if="${}"判读语句
th:text="${}"显示参数语句,可以使用三元运算
th:herf="@{}"链接
th:src="@{}"链接
th:fargment="名称"重用的基础页面
th:replace="{地址::名称}"替换页面
更加完善的笔记