idea+Springboot+thymeleaf+实例

Spring诞生时是J2EE的轻量级替代品,无需开发重量级的EJB,通过依赖注入和面向切面变成,用简单的Java对象实现了EJB的功能。此时的Spring组件代码是轻量级的,但是配置是重量级的。因为Spring用很多XML配置。

Spring2.5引入基于注解的组件扫描,减少了很多xml配置。

Spring3.0引入了基于Java的配置,是一种安全的可重构配置方式,用以替代XML。此时还有某些Spring特性,比如事务管理和SpringMVC还需要xml或java显示配置。启用第三方库也需要显示配置,比如基于thymeleaf的web视图。配置servlet和过滤器同样需要在web.xml或servlet中初始化代码里进行显示配置。

Spring4.0对条件化配置提供支持。

Spring Boot 四个核心:

    自动配置:Spring Boot在应用程序的Classpath里发现H2数据库库的库,就会自动配置一个嵌入式H2数据库。如果在Classpath里发现JdbcTemplate,就会配置一个JdbcTemplate的Bean。同理自动配置还涉及到Java持久化API、Thymeleaf模板、安全和SpringMVC。

    起步依赖:不需要考虑group、Artifact、版本等问题,只需要导入Spring Boot的Web等起步依赖就可以解决这些问题。

    命令行界面:

    Actuator:提供在运行时检查应用程序内部情况的能力。

SpringMVC处理Web请求,Thymeleaf定义Web视图,Spring Data JPA把阅读列表持久化到数据里,thymeleaf为springboot默认配置的模板引擎,默认的模板配置路径为:src/main/resources/templates  ,通过这种方法用html文件来替代jsp,jsp无法实现thymeleaf的很多特性。

源码地址:https://download.csdn.net/download/qq_38862234/10518800

项目的框架:

mywebapplication用作配置和启动引导。注意用于启动引导的mywebapplication必须在其他java文件的上层或同层

package com.zl;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication    //开启组件扫描和自动配置,相当于Spring的@Configuration表明该类使用Spring基于Java的配置+Spring的@ComponentScan启用组件扫描+Spring Boot的@EnableAutoConfiguration开启自动配置
public class MywebApplication {

    public static void main(String[] args) { SpringApplication.run(MywebApplication.class, args); //负责启动引导应用程序
    }
}

idea+Springboot+thymeleaf+实例_第1张图片


1.通过idea的spring initializr创建项目

idea+Springboot+thymeleaf+实例_第2张图片

idea+Springboot+thymeleaf+实例_第3张图片

勾选web和thymeleaf

idea+Springboot+thymeleaf+实例_第4张图片

默认点击,完成。

2.定义实体User

package com.zl.bean;

public class User {
    private Integer id;
    private String name;
    private String age;
    private String address;

    public User() {
    }

    public User(Integer id, String name, String age, String address) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.address = address;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age='" + age + '\'' +
                ", address='" + address + '\'' +
                '}';
    }
}

3.创建SpringMVC控制器controller

package com.zl.controller;

import com.zl.bean.User;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.ArrayList;
import java.util.List;

@Controller
@RequestMapping("/user")
public class UserController {
    @RequestMapping("/list")
    public String listUser(Model model){  //这个地方用model来存储数据,里面存储键值对,值可以为list
        List userList = new ArrayList();
        for(int i=0;i<10;i++){
            userList.add(new User(i,"张三"+i,Integer.toString(20+i),"中国广州"));
        }
        model.addAttribute("users",userList);
        return "/user/list";
    }
}

4.呈现界面的Tymeleaf模板




    
    Insert title here


用户列表

  • - - -


5运行应用程序,输入地址:http://localhost:8080/user/list

idea+Springboot+thymeleaf+实例_第5张图片

你可能感兴趣的:(Java问题,JavaWeb问题)