您的位置:首页 > 编程语言 > Java开发

spring boot实践

2015-07-06 09:47 573 查看
在IDE创建maven构建的应用程序

1.
修改pom中添加如下依赖(添加web功能):

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.3.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>


2. 创建的包结构类似于这样的:

com
+- example
+- myproject
+- Application.java
|
+- domain
|   +- xxx.java
|   +- xxx.java
|
+- service
|   +- xxx.java
|
+- web
+- xxx.java


注:spring boot推荐的方式是将main 方法所在的类放在应用包结构的根目录,这样@ComponentScan不用配置任何包路径,便能正常扫描到所有注解,@EnableAutoConfiguration也能扫描到相关注解(例如你正在开发jpa的应用,包含@EnableAutoConfiguration的类的包则会去找@Entity注解)(错误的包结构:将main方法的类放在没有包结构的下面,即default-package,则在spring
boot中使用@ComponentScan,@EntityScan,@SpringBootApplication都会产生某些问题,因为他们会去读每一个jar中的class)

3. 创建spring boot的入口类Application.java:

@SpringBootApplication
public class Application {
public static void main(String[] args) {
ApplicationContext ctx = SpringApplication.run(Application.class, args);
}
}
注:可以在IDE中点@SpringBootApplication进入看看,由@Configuration,@EnableAutoConfiguration,@ComponentScan三个注解组成,继续点@Configuration进去看看可以发现其实是一个@Component注解,我们可以把由@Configuration注解构成的类当做spring的一个配置bean的xml,java-based的spring配置方式是类似于这样的:

@Configuration
public class AppConfig{

@Bean
public MyService myService(){
MyService myService = new MyService();
myService.setName("service");
return myService;
}
}


@EnableAutoConfiguration注解会使spring boot自动配置应用,这个自动配置是基于依赖的jar,例如当你在添加spring-boot-starter-web依赖后,classpath会添加tomcat和spring mvc的jar依赖,spring boot会认为你正在开发web应用,则会配置web应用相关的一些东东。

@ComponentScan注解的功能和xml配置中<context:componentScan>节点一致,配置组件扫描。
4. 创建controller

@RestController
public class HelloController {
@RequestMapping("/")
public String index() {
return "Greetings from Spring Boot!";
}
}
这样就创建完成了,通过main方法运行应用,访问localhost:8080即可看到Greetings from Spring Boot!的结果。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: