Springboot 入门笔记

springbootdemo
HelloWorldController
package com.controller;

import com.entity.Student;
import com.service.StudentService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import java.util.Date;

@RestController
public class HelloWorldController {
    @Autowired
    ApplicationContext context;     //spring ioc容器
    @Autowired
    Student student;

    Logger logger = LoggerFactory.getLogger(HelloWorldController.class);

    @ResponseBody
    @RequestMapping("/welcome")
    public String welcome() {
        StudentService stuService = (StudentService) context.getBean("stuService");
        // Student student = new Student();
        logger.trace("trace********");
        logger.debug("debug********");
        logger.info("info*******");
        logger.warn("warn******");
        logger.error("error****");

        return "spring boot " + new Date() + " 8888== " + student + "";
    }
}
ThymeleafController
package com.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
public class ThymeleafController {
    @RequestMapping(value = "show", method = RequestMethod.GET)
    public String show(Model model){
        model.addAttribute("uid","123456789-------");
        model.addAttribute("name","Jerry2222222");
        return "show";
    }
}
AppConfig
package com.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.service.StudentService;

//配置类
@Configuration
public class AppConfig {
    
    @Bean        
    public StudentService stuService(){//<bean  id="xxxxxxxxxxxxx">
        StudentService stuService = new StudentService();
        
//        StudentDao stuDao = new StudentDao()  ;
//        stuService.setStudentDao(stuDao);
        return stuService;//返回值 <bean  class="xxxxxxxxxxxxx">
    }
}
Student
package com.entity;

import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;

import javax.validation.Valid;
import javax.validation.constraints.Email;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
import org.springframework.validation.annotation.Validated;

@Component //将此Javabean

//@Validated//开启jsr303数据校验的注解
@ConfigurationProperties(prefix = "student")
@PropertySource(value={"classpath:conf.yml"})
public class Student {
    // @Value("safasd")
    //@Email
    private String email;
    private String name;

    // @Value("${student.uname}")
    private String userName;
    // @Value("33")
    private int age;
    private boolean sex; //true:男  false:女
    private Date birthday;
    //{province:陕西, city:西安,zone:莲湖区}
    //@Value("{province:陕44西, city:西44安,zone:莲湖区}")
    private Map<String, Object> location;
    private String[] hobbies;
    private List<String> skills;
    private Pet pet;

    public String getName() {
        return name;
    }

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

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public int getAge() {
        return age;
    }

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

    public boolean isSex() {
        return sex;
    }

    public void setSex(boolean sex) {
        this.sex = sex;
    }

    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    public Map<String, Object> getLocation() {
        return location;
    }

    public void setLocation(Map<String, Object> location) {
        this.location = location;
    }

    public String[] getHobbies() {
        return hobbies;
    }

    public void setHobbies(String[] hobbies) {
        this.hobbies = hobbies;
    }

    public List<String> getSkills() {
        return skills;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public void setSkills(List<String> skills) {
        this.skills = skills;
    }

    public Pet getPet() {
        return pet;
    }

    public void setPet(Pet pet) {
        this.pet = pet;
    }

    @Override
    public String toString() {
        return "Student [email=" + email + ", name=" + name + ", age=" + age + ", sex=" + sex + ", birthday="
                + birthday + ", location=" + location + ", hobbies=" + Arrays.toString(hobbies) + ", skills=" + skills
                + ", pet=" + pet + "]";
    }
}
Pet
package com.entity;

public class Pet {
    private String nickName ;//松散写法nick-name
    private String strain ;
    public String getNickName() {
        return nickName;
    }
    public void setNickName(String nickName) {
        this.nickName = nickName;
    }
    public String getStrain() {
        return strain;
    }
    public void setStrain(String strain) {
        this.strain = strain;
    }
    @Override
    public String toString() {
        return "Pet [nickName=" + nickName + ", strain=" + strain + "]";
    }
}

static/h1.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>static</title>
</head>
<body>
    weclome static
</body>
</html>

templates/show.html

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>SpringBoot模版渲染</title>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
</head>
<body>
<p th:text="'用户ID:' + ${uid}"/>
<p th:text="'用户名称:' + ${name}"/>
</body>
</html>

application.properties

server.port=30000
logging.file.path=log
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} %msg%n

application.yml  |  conf.yml

#server:
  #port: 30001
#=======================================
student:
  name: zs
  age: 23
  sex: true
  birthday: 2019/02/12

 

 

posted @ 2019-11-24 11:00  一只桔子2233  阅读(150)  评论(0编辑  收藏  举报