zoukankan      html  css  js  c++  java
  • SpringBoot

    案例一

     1、导入依赖

    </properties>
        <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.1.RELEASE</version>
    
    </parent>
      <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.11</version>
          <scope>test</scope>
        </dependency>
    <dependency> <!-- spring-boot-starter-web是为我们提供了包括mvc,aop等需要的一些jar --> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <!-- 因为我们已经配置了 parent 中的version 所以这里不需要指定version了 --> </dependency>

      2、创建FirstController类

    @RestController
    public class FirstController {
    
    
        @RequestMapping("/firstController")
        public String firstController(){
            System.out.println("第一个请求");
            return "Hello SpringBoot";
        }
    }

    3创建StartSpringBoot 测试类

    @SpringBootApplication
    public class StartSpringBoot {
        public static void main(String[] args) {
            SpringApplication.run(StartSpringBoot.class,args);
        }
    }

    控制台输出

      .   ____          _            __ _ _
     /\ / ___'_ __ _ _(_)_ __  __ _    
    ( ( )\___ | '_ | '_| | '_ / _` |    
     \/  ___)| |_)| | | | | || (_| |  ) ) ) )
      '  |____| .__|_| |_|_| |_\__, | / / / /
     =========|_|==============|___/=/_/_/_/
     :: Spring Boot ::        (v1.4.1.RELEASE)
    
    2019-12-10 16:19:28.638  INFO 12836 --- [           main] com.wdksft.StartSpringBoot               : Starting StartSpringBoot on LAPTOP-98IAV276 with PID 12836 (E:SanSpringBootspringboot(1)springboot	argetclasses started by s in E:SanSpringBootspringboot(1)springboot)
    2019-12-10 16:19:28.647  INFO 12836 --- [           main] com.wdksft.StartSpringBoot               : No active profile set, falling back to default profiles: default
    2019-12-10 16:19:28.904  INFO 12836 --- [           main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@1c1bced: startup date [Tue Dec 10 16:19:28 CST 2019]; root of context hierarchy
    2019-12-10 16:19:32.255  INFO 12836 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (http)
    2019-12-10 16:19:32.278  INFO 12836 --- [           main] o.apache.catalina.core.StandardService   : Starting service Tomcat
    2019-12-10 16:19:32.280  INFO 12836 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/8.5.5
    2019-12-10 16:19:32.574  INFO 12836 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
    2019-12-10 16:19:32.574  INFO 12836 --- [ost-startStop-1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 3683 ms
    2019-12-10 16:19:33.083  INFO 12836 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean  : Mapping servlet: 'dispatcherServlet' to [/]
    2019-12-10 16:19:33.095  INFO 12836 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'characterEncodingFilter' to: [/*]
    2019-12-10 16:19:33.096  INFO 12836 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
    2019-12-10 16:19:33.097  INFO 12836 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'httpPutFormContentFilter' to: [/*]
    2019-12-10 16:19:33.098  INFO 12836 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'requestContextFilter' to: [/*]
    2019-12-10 16:19:33.992  INFO 12836 --- [           main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@1c1bced: startup date [Tue Dec 10 16:19:28 CST 2019]; root of context hierarchy
    2019-12-10 16:19:34.159  INFO 12836 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/firstController]}" onto public java.lang.String com.wdksft.cotroller.FirstController.firstController()
    2019-12-10 16:19:34.171  INFO 12836 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
    2019-12-10 16:19:34.172  INFO 12836 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
    2019-12-10 16:19:34.250  INFO 12836 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
    2019-12-10 16:19:34.250  INFO 12836 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
    2019-12-10 16:19:34.300  INFO 12836 --- [           main] .m.m.a.ExceptionHandlerExceptionResolver : Detected @ExceptionHandler methods in exceptionHan
    2019-12-10 16:19:34.372  INFO 12836 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
    2019-12-10 16:19:34.794  INFO 12836 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
    2019-12-10 16:19:34.990  INFO 12836 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
    2019-12-10 16:19:35.002  INFO 12836 --- [           main] com.wdksft.StartSpringBoot               : Started StartSpringBoot in 7.743 seconds (JVM running for 11.854)

    网页访问

     

    二、SpringBoot静态资源访问

      1、在resources文件下创建static包,再static下创建img包

      

      

         三、SpringBoot解决异常问题

      1、在Controller类中定义一个异常

        

    @RestController
    public class FirstController {
    
    
        @RequestMapping("/firstController")
        public String firstController(){
            int result=5/0;
            System.out.println("第一个请求");
            return "Hello SpringBoot";
        }
    }

    2. 定义异常类

    @ControllerAdvice
    public class ExceptionHan {
        @org.springframework.web.bind.annotation.ExceptionHandler(RuntimeException.class)
        @ResponseBody
        public Map<String,Object> exceHandler(){
            Map<String,Object> map=new HashMap<>();
            map.put("error","500");
            map.put("msg","异常");
            return map;
    
        }

      3、结果如下

        

    四、SpringBoot使用freemarker

      1、导入依赖freemarker

     <dependency>
          <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-freemarker</artifactId>
     </dependency>

      2、配置application.propertiesleuk文件

    ## Freemarker 配置
    spring.freemarker.template-loader-path=classpath:/templates/
    spring.freemarker.cache=false
    spring.freemarker.charset=UTF-8
    spring.freemarker.check-template-location=true
    spring.freemarker.content-type=text/html
    spring.freemarker.expose-request-attributes=false
    spring.freemarker.expose-session-attributes=false
    spring.freemarker.request-context-attribute=request
    spring.freemarker.prefix=/
    spring.freemarker.suffix=.ftl

      3、在resources包下创建templates包并创建holle.ftl模板

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>SpringBoot整合FreeMarker</title>
    </head>
    <body>
        欢迎:
      ` ${name}
    
        <#list stulist as stu>
            ${stu.stu_name}
        </#list>
    
        <#if 1==1>
            等等等等!!!
        </#if>
    
        <#list userList as user>
            ${user}
        </#list>
    </body>
    </html>

      4、创建StartSpringBoot启动类

    package com.freemarker;
    
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    public class StartSpringBoot {
        public static void main(String[] args){
            SpringApplication.run(StartSpringBoot.class,args);
        }
    }

      5、创建Controller类freemarkerController类

    package com.freemarker.Controller;
    
    import com.freemarker.entity.student;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.ModelMap;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    import java.util.ArrayList;
    import java.util.List;
    
    @Controller
    @RequestMapping("/free")
    public class freemarkerController {
        @RequestMapping("/freeFirst")
        public String freeFirst(ModelMap map){
            map.put("name","张三");
            return "hello"; //找templates/name.ftl
        }
    
        @RequestMapping("/freeSecond")
        public String freeSecond(ModelMap map){
            List<String> list=new ArrayList<>();
            list.add("张三");
            list.add("李四");
            list.add("王五");
            map.put("userList",list);
            return "hello";
        }
    
        @RequestMapping("/freeThread")
        public String freeThread(ModelMap map){
            List<student> list=new ArrayList<>();
            student stu=new student();
            stu.setStu_id(1);
            stu.setStu_name("小王");
            list.add(stu);
            map.put("stulist",list);
            return "hello";
        }
    }

      6、页面访问实现效果如下

        

  • 相关阅读:
    sql 查询某个字段出现的次数
    Spark性能优化指导及总结
    数据结构与算法基础-排序
    数据仓库中数据模型之拉链表
    Hive over()窗口函数及应用实例
    dubbo 分布式服务框架
    netty 网络框架
    实现JavaScript继承
    【ThoughtWorks西安】澳洲业务线招聘大量C#开发工程师
    使用Docker搭建自己的GitLab服务
  • 原文地址:https://www.cnblogs.com/Chencheno/p/12017613.html
Copyright © 2011-2022 走看看