Eclipse 搭建Spring boot

来源:互联网 发布:淘宝微淘怎么做 编辑:程序博客网 时间:2024/06/06 02:03

Eclipse 搭建Spring boot

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。在以前spring mvcspringdatahibernate等框架的配置太过于复杂和繁多,所以在spring boot框架中主要就是简化的配置文件的配置。Spring boot也可以引用于微服务,提供服务接口提供别人进行调用。

Spring boot 可以说是spring mvc的升级版,两者没有必然的关系,可以直接学习spring boot

 

Eclipse中搭建过程:

本案例使用maven方式构建项目

1、  首先在eclipse中创建一个maven工程

 

2、  pom.xml中添加springboot的相关配置(如果下载jar包速度慢,可以配置国内镜像,提高下载速度,具体配置方式参考http://www.cnblogs.com/xiongxx/p/6057558.html

<projectxmlns="http://maven.apache.org/POM/4.0.0"             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/maven-v4_0_0.xsd">  <modelVersion>4.0.0</modelVersion> <groupId>com.lhc.springboot</groupId> <artifactId>SpringBootDemo</artifactId> <version>0.0.1-SNAPSHOT</version>   <parent>   <groupId>org.springframework.boot</groupId>   <artifactId>spring-boot-starter-parent</artifactId>   <version>1.5.2.RELEASE</version></parent>  <dependencies>    <dependency>     <groupId>junit</groupId>     <artifactId>junit</artifactId>     <version>3.8.1</version>      <scope>test</scope>    </dependency>    <dependency>       <groupId>org.springframework.boot</groupId>       <artifactId>spring-boot-starter-web</artifactId>    </dependency>  </dependencies>  <build>   <finalName>SpringBoot_test1</finalName>  </build></project>

 3、  src/main/java中,新建一个包,比如test,在包中新建一个类,如Application.java,代码如下:

package test; import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication // 使用@SpringbootApplication注解  可以解决根类或者配置类(我自己的说法,就是main所在类)头上注解过多的问题,一个@SpringbootApplication相当于@Configuration,@EnableAutoConfiguration和 @ComponentScan 并具有他们的默认属性值。public class Application {      public static void main(String[] args){        SpringApplication.run(Application.class, args);     } } 


4、  test包下,新建一个Controller类,比如ExampleController.java,代码如下:

package test; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController  //spring4之后新添加的注解,原来返回json需要@responseBody配合@controller实现,如果使用@RestController就相当于加上了@responseBody和@controller注解public class ExampleController {       @RequestMapping("/")   //这里只有一个/,代表项目的跟路径,比如http://localhost:8080时,就可以直接调用此方法    String home(){  //当运行Application类后,可以通过浏览器输入http://localhost:springboot的端口号/进行访问        return"Hello World!";     }} 


5、  启动springboot,启动方式如下:

方式一:(一般推荐这种方式,简单)

直接在eclipse中启动Applicationmain方法

方式二:

使用maven run方法启动

    cmd 进入类所在的磁盘路径,执行命令mvn spring-boot:run

方式三:

mvn install先编译,编译完毕后进入target目录,接下来使用命令javajar编译后的文件名称进行启动

6、  在浏览器中,输入http://localhost:springboot的端口号(springboot的端口号默认是8080),如:http://localhost:8080,这样就可以调用ExampleController类中的home方法,并且会把返回的“Hello World! ”输出到页面上显示

 

到此为止,一个简单的springboot就已经搭建完毕了

 

 

下面讲解下springboot的属性配置

1、  在src/main/java目录下,新建一个application.properties或者application.yml配置文件(文件名称不能变),这个配置文件是springboot的全局配置文件。application.properties和application.yml只能选择其中一种,区别在于:

application.properties写法:

server.port=8089

server.context-path=/demo

 

而application.yml写法:

server:

port: 8089

context-path: /demo

 

         那么可以看到,如果是properties类型文件,每个配置属性偶要写全,而yml类型文件,就可以分开写,但是需要注意,yml写法冒号与值之间要有空格,不然语法不对

         附所有springboot配置文件属性查阅地址:

http://blog.csdn.net/wazz753/article/details/72460519

         http://www.tuicool.com/articles/veUjQba

http://www.flyat.cc/article/dde82ee1dc694b04ae7ec8dc2e658104

 

2、  在配置文件中,自定义一个属性,在类中进行获取(这里以properties类型文件举例)

1)      在配置文件中添加str=aaaaaa

2)      在ExampleController.java中添加如下属性和注解即可,那么在上面写到的home方法或者其他方法中,就可以使用这个值

@Value("${str}")

private String str;

3)      那么也可以在配置文件中定义的属性,引用配置文件中已经定义的属性,如:

str=aaaaaa

sayName="我的名字是${str}"

在类中,也可以向上面2步骤方式得到sayName的值

4)      定义一个实体,在配置文件中配置实体属性

4.1) 新建一个bean包,并新建一个一个实体类,如UserBean.java,代码如下:

package bean; import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.stereotype.Component; @Component//@component (把普通pojo实例化到spring容器中,相当于配置文件中的<bean id="" class=""/>)@ConfigurationProperties(prefix="user")//这里定义的前缀,//注意,还需要在入口添加@EnableConfigurationProperties({UserBean.class})public class UserBean {          private String uname;         private String pwd;          public String getUname() {                   returnuname;         }          public void setUname(String uname) {                   this.uname= uname;         }          public String getPwd() {                   returnpwd;         }          public void setPwd(String pwd) {                   this.pwd= pwd;         }}


 

4.2) 在配置文件中添加如下代码:

user.uname=zhangsan

user.pwd=123

注意,这里必须以user开头,因为在实体类中配置了prefix="user"这个前缀

 

 4.3)在controller类中添加如下代码:

@Autowired

private UserBean user;//这个名字,不一定要与上面提到的前缀一样,因为会自动按照类型来进行匹配,当然如果名称与配置的前缀一样也没有问题

 

4.3) 配置时需要注意,如果实体bean是Application类所在包的子包,那么无需添加额外配置,但是,如果bean包不属于Application类所在的包的子包,那么就需要额外在Application类中,在类上面添加如下注解:

@EnableConfigurationProperties({UserBean.class})//自动映射一个POJO到Spring Boot配置文件(默认是application.properties文件)的属性集

修改后的Application类完整代码如下:

packagetest; import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.context.properties.EnableConfigurationProperties; import bean.UserBean; @SpringBootApplication// 使用@SpringbootApplication注解  可以解决根类或者配置类(我自己的说法,就是main所在类)头上注解过多的问题,一个@SpringbootApplication相当于@Configuration,@EnableAutoConfiguration和@ComponentScan 并具有他们的默认属性值。@EnableConfigurationProperties({UserBean.class})//自动映射一个POJO到Spring Boot配置文件(默认是application.properties文件)的属性集public class Application {      public static void main(String[] args){         SpringApplication.run(Application.class,args);     } }


 

3、  在项目中,也可以配置很多个配置文件(但是只能有一个配置文件是生效的,比如开发环境启用开发环境的配置文件,生产环境启用生产环境的配置)

1)      新建或者把刚才的application.properties复制一份,更改名称叫做application-dev.properties,这个文件当做开发环境的配置文件,并且设置端口号,比如设置端口为8088

2)      再新建或者把刚才的application.properties复制一份,更改名称叫做application-prod.properties,这个文件当做生产环境的配置文件,并且设置端口号,比如设置端口为8089

3)      把application.properties文件中的配置内容全部删除,改成spring.profiles.active=dev或者改成spring.profiles.active=prod,这样就可以在开发环境和生产环境中间进行切换不同环境的配置


原创粉丝点击