springboot学习笔记

常用注解:

控制器
@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="{地址::名称}"替换页面

更加完善的笔记

你可能感兴趣的:(框架)