Intellij IDEA 新建springboot 項目

新建項目

    

   完成之後,效果如下:

  

   直接運行:

   


(這裏我沒有關注Maven,是因爲我就默認使用了Intellj IDEA 自帶的Maven工具了,不想配了,大不了下載的東西 會放在C盤用戶目錄下一個叫.m2的文件夾。我們用 spring boot 就是爲了 簡化各種配置的。你看上面,我們只需要 寫寫 項目應用的名字,然後就OK了。不要有強迫症,你看,這個spring boot,我即沒有關注maven,也沒有關注tomcat,爲什麼? 這些根本就不是我們操心的,人家都集成好了。)


  瀏覽器運行:

  

這個404很明白的啦,沒有頁面。我們細看一下


  接下來,我們寫點東西。

  先不考慮頁面。先寫個Controller。

@Controller
public class HelloController {
    @RequestMapping("/")
    @ResponseBody
    public String index(){
        return "Hello World!";
    }
}
這裏先不返回view,返回數據。重新運行。

   


  接下來考慮 返回view的情況。 

  大多數 thymeleaf 模板引擎來替換掉 jsp。我們就當學習一下潮流吧。這東西其實也不難。就是不熟練而已。

  接下來,我們重新做一些有意義的事情。

  在HelloController中添加一個 requestMapping

@RequestMapping("/index.html")
public String toIndex(){
    return "index";
}

  那麼接下來return "index" 就是 index.html放在哪呢。注意不是index.jsp。就是index.html。


重新運行。

 


那麼這裏有些要注意了。不能出現單標籤的了,因爲thymeleaf引擎比較嚴格。以後<input>這種肯定不行了,必須類似這樣<input></input>或者<input /> 所以我們修改一下


但是你發現刷新並沒有效果。必須重新運行。


運行成功。但這就不爽勒,爲什麼不能像以前tomcat那樣,改了刷新就可以看到效果呢。那麼這種類似 熱部署操作是需要配置的。參考 http://www.cnblogs.com/bingshu/p/6876030.html。

1. 修改pom文件

這輸入新添加節點

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-devtools</artifactId>
   <optional>true</optional>
   <scope>true</scope>
</dependency>
<build>
   <plugins>
      <plugin>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-maven-plugin</artifactId>
         <configuration>
            <fork>true</fork>//在原來配置添加該配置
         </configuration>
      </plugin>
   </plugins>
</build>
2. 修改idea。

  1. 快捷鍵: Ctrl+Alt+S

  

  OK完之後,

   2. 快捷鍵:Ctrl+Shift+Alt+ /



OK之後,再重啓項目試試。 你可以發現,你修改java代碼,項目會重新部署,修改html文件,刷新瀏覽器,效果也會修改的。完美實現 “熱部署”

這不算什麼。我們還沒有用上 那個新模板引擎的語法呢。 先搞點簡單的,複雜的 各位還是請百度。

public class Student {
    private String name;
    private Integer age;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Integer getAge() {
        return age;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
}
新建了一個類Student。然後controller中加入這樣的代碼。

@RequestMapping("/students.html")
public String students(Map<String,Object> map){
    List<Student> list = new ArrayList<>();
    for(int i=0;i<10;i++){
        Student student = new Student();
        student.setName("張三"+i);
        student.setAge(23+i);
        list.add(student);
    }
    map.put("sList",list);// 返回給頁面的數據
    return "students";
}
下面編寫 students.html頁面

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8" />
    <title>Title</title>
</head>
<body>
    所有學生
   <ul th:each="stu,stuSta:${sList}">
       <li>
           序號:<span th:text="${stuSta.index}"/><br/>
           姓名:<th:block th:text="${stu.name}"></th:block><br/>
           年齡:<div th:text="${stu.age}"></div><br/>
       </li>
   </ul>
</body>
</html>


不要糾結着寫紅線了,不是錯誤。這是 這個集成工具的問題,不要糾結,沒有錯。修復也行,alt+enter,但那句代碼都是註釋狀態,毫無意義,還多上了java類,


真的,這樣我就覺得 毫無意義了,明明一個純html文件裏,沒必要出現這些類名的吧。

所以,不要糾結了,看着看着就習慣了。

瀏覽器訪問


接下來,我們討論一個常用功能那就是 日誌功能。

 spring boot 日誌已經集成了,什麼log4j,slf4j,logback什麼的,所以不需要導什麼包,直接用。

like this.

Logger logger = LoggerFactory.getLogger(getClass());

@RequestMapping("/students.html")
public String students(Map<String,Object> map){
    List<Student> list = new ArrayList<>();
    for(int i=0;i<11;i++){
        Student student = new Student();
        student.setName("張三"+i);
        student.setAge(23+i);
        list.add(student);
    }
    map.put("sList",list);// 返回給頁面的數據
    logger.info("studentList: {}",list);
    return "students";
}

那日誌級別什麼的怎麼調整呢。 這裏 我們 做一個配置,當然不需要新建 log4j.properties。沒有用。


我們寫點東西,這個 是帶提示的哦。


我們簡單的寫點東西

#log
logging.file=mylog.log
logging.path=logs
logging.level.root=info
#thymeleaf
spring.thymeleaf.cache=false

再寫一個簡單的例子

@RequestMapping("/student/{name}.html")
public String student(@PathVariable(name="name") String name, Map<String,Object> map){
    Student student = new Student();
    student.setName(name);
    student.setAge(23);
    map.put("student",student);
    return "student";
}
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8" />
    <title><th:block th:text="${student.name}"/>的信息</title>
</head>
<body>
    該學生信息
    姓名:<span th:text="${student.name}"></span>
    年齡:<span th:text="${student.age}"></span>
</body>
</html>

 好了,這個入門就到這了。下次繼續聊 spring boot。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章