当前位置 : 主页 > 编程语言 > java >

七,springBoot-SpringBootApplication注解

来源:互联网 收集:自由互联 发布时间:2022-10-26
在demo里面,我们把启动方法和controller放在了一个类里面,在实际开发中,启动方法是放在一个单独的类里面的。 为此我们创建一个SpringApplication类作为单独的启动类,和Controller分离。


 在demo里面,我们把启动方法和controller放在了一个类里面,在实际开发中,启动方法是放在一个单独的类里面的。

为此我们创建一个SpringApplication类作为单独的启动类,和Controller分离。创建目录如下:

七,springBoot-SpringBootApplication注解_java

七,springBoot-SpringBootApplication注解_spring_02

编辑

①,Application.java

package com.springboot.application;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;

@EnableAutoConfiguration(exclude = {RedisAutoConfiguration.class})
@ComponentScan("com.springboot.controller") //指定Controller所在的包,默认扫描当前包以及当前包的子包
public class Application {

public static void main(String[] args)

七,springBoot-SpringBootApplication注解_spring_03

②,IndexController.java

package com.springboot.controller;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@ConfigurationProperties(prefix = "PEOPLE")
public class IndexContoller {

@RequestMapping("/index")
@ResponseBody
public String index(){
return "Index";
}

/* @Value("${PEOPLE.name}")
private String name;

@Value("${PEOPLE.sex}")
private String sex;*/

private String name;

private String sex;

public String getName() {
return name;
}

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

public String getSex() {
return sex;
}

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

@RequestMapping("/info")
@ResponseBody
public String getPeopleInfo(){
return name+":"+sex;
}

}

七,springBoot-SpringBootApplication注解_redis_04

启动访问:​​http://localhost:8088/dev/info​​

七,springBoot-SpringBootApplication注解_spring_05

七,springBoot-SpringBootApplication注解_spring_06

编辑

二,@SpringBootApplication(组合注解)

在Application启动类中,我们用了两个注解,我们可以用一个注解SpringBootApplication替换它们两个

//@EnableAutoConfiguration(exclude = {RedisAutoConfiguration.class})
//@ComponentScan("com.springboot.controller") //指定Controller所在的包,默认扫描当前包以及当前包的子包
@SpringBootApplication(scanBasePackages = {"com.springboot.controller"},exclude = {RedisAutoConfiguration.class})
public class Application {

public static void main(String[] args)

七,springBoot-SpringBootApplication注解_redis_07

SpringBootApplication注解默认扫描当前包以及当前包的子包

=========扩展=======

@RestController

这个也是一个组合注解,当一个Controller中所有的功能方法都返回restful内容时,我们就可以将@Controller换成@RestController,这样的好处时不用每个方法都使用@ResponseBody。接下来以修改IndexController为例。

①,IndexController.java

package com.springboot.controller;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

@RestController
@ConfigurationProperties(prefix = "PEOPLE")
public class IndexContoller {

@RequestMapping("/index")
public String index(){
return "Index";
}

/* @Value("${PEOPLE.name}")
private String name;

@Value("${PEOPLE.sex}")
private String sex;*/

private String name;

private String sex;

public String getName() {
return name;
}

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

public String getSex() {
return sex;
}

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

@RequestMapping("/info")
public String getPeopleInfo(){
return name+":"+sex;
}

}

七,springBoot-SpringBootApplication注解_spring_08

②。启动并访问查看结果,这里我就不截图结果图了,请自行验证。



上一篇:八,springBoot-父子工程创建(idea)
下一篇:没有了
网友评论