Springboot整理

Springboot特点

  • 创建独立的Spring应用程序
  • 自带Tomcat,不需要另外下载Tomcat,再将项目打包部署到Tomcat,直接使用内嵌Tomcat完成部署
  • 简化Maven配置,不需要在pom文件中导入那么多jar包
  • 自动配置Spring,不需要xml文件配置

重要注解

@EnableAutoConfiguration

作用:开启自动配置
修饰范围:类级注解,只能作用在类上
实际作用:根据添加在pom文件中的依赖自动配置相关环境,如在pon.xml中引入了spring-boot-starter-web,则会自动根据引入的这个依赖构建相关环境,springMVC环境,web容器环境(tomcat)

@ComponentScan

作用:开启注解扫描
修饰范围:类级注解,只能作用在类上
扫描注解范围:当前包以及当前包的子包

@SpringBootApplication

相当于@EnableAutoConfiguration + @ComponentScan
:实际开发中主要使用这个注解

@RestController

相当于@Controller+@ResponseBody
作用:将当前类实例化实例化为一个控制器对象,并将类中所有方法的返回值转换为json,响应给浏览器

@RequestMapping

作用: 用来加入访问路径,可以接收get,post等请求方式

@GetMapping

作用: 限定请求方式只能为get

@Configuration

类似于@Component,对自定义java对象进行管理,是想Bean的注入,例如在Entity中的User上使用此注解

重要概念

main():指定主入口类。从而启动springboot中tomcat容器

starter:启动器
与自动配置没有关系,如spring-boot-starter-xxx 是一组依赖关系的描述符,在pom.xml中这样设置启动器,那么springboot通过这组描述符就知道要配置相关环境,不需要再去maven中央仓库复制粘贴相关依赖,方便开发

配置文件拆分
在实际开发过程中生产环境和测试环境有可能是不一样的 因此将生产中的配置和测试中的配置拆分开,是非常必要的在springboot中也提供了配置文件拆分的方式.

注入语法

  1. 属性注入 字符串 端口 数组 List集合 Map集合 时间

    在`application.properties `中写入相关数据
    
name=huhu
arr=1,2,3,4
date=2020/7/30 10:15:00
list=hu,hui,mian
map={'a':'hu','b':'hui','c':'mian'}
	将数据注入(注意Map和Date的格式)

在这里插入图片描述

  1. 对象注入
    首先在实体类中加上@ConfigurationProperties(prefix = "user")在这里插入图片描述
    然后在application.properties中写入数据,注意带上前缀
    在这里插入图片描述
    数据注入
    在这里插入图片描述

集成JSP页面

  1. 导入相关jar包
<!--        引入解析jsp相关jar包-->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
        </dependency>
        <!--        jstl相关jar包-->
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
  1. application.properties进行配置
//告诉容器以这种前后缀路径访问的请求通过jsp解析器进行解析
spring.mvc.view.prefix=/
spring.mvc.view.suffix=.jsp
//开启jsp实时更新,不需要每次都重启服务器
server.servlet.jsp.init-parameters.development=true

拦截器

  1. 编写自定义拦截器,并且继承HandlerInterceptor接口,根据需要重写preHandle``postHandle``afterCompletion方法, true放行,false拦截
@Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        Object user = request.getSession().getAttribute("user");
        if (user != null) {
            return true;
        }
        response.sendRedirect("/index");
        return false;
    }

2.在Springboot中注册拦截器,继承WebMvcConfigurer

@Configuration
public class InterceptorConfig implements WebMvcConfigurer {
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new LoginInterceptor())
    //                拦截目录
                .addPathPatterns("/**")
    //                放行目录
                .excludePathPatterns("/index","/user/login");
    }
}

Thymeleaf

是一个用于web和独立环境的现代服务器端的java模板引擎。
既可以让美工在浏览器上直接查看页面的静态效果,也可以让程序员在服务器上查看带数据的动态页面效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值