使用IDEA和Maven搭建一个Spring Boot项目
2018-01-03 17:16
1406 查看
Spring Boot是Spring MVC的升级版
嵌入的Tomcat,无需部署War文件
简化Maven配置
自动配置Spring
IDEA用过的人再也不想用eclipse了,自从我入坑IDEA之后,就没怎么打开过eclipse了。这就好像和一个从来都没有使用固态硬盘的人有着同样的感慨,“再也回不去了“。
GroupId可以改成自己的域名,其他默认,然后一路next,最后finish。
这是项目的结构目录,首次运行maven,编译器会下载大量的jar包,如果下载太慢,可以在setting.xml文件里面配置阿里Maven仓库镜像。
此时Spring Boot已经默认配置好了pom.xml文件
然后在浏览器中输入http://localhost:8080/hello,浏览器输出”Hello !”。
@Value 从配置文件读取参数
@ConfigurationProperties 把yml里面一组配置参数封装成一个类
@Component 向SpringBoot注册一个类
@Autowired 注入一个类
@RestController = @Controller + @ResponseBody,Spring4 之后新加的注解,原来返回json需要@ResponseBody + @Controller
在Test目录下有一个
这里推荐使用
方式一:在配置文件中设置一个name属性,然后将此name属性通过注解注入到name属性变量。
方式二:也可以这么来使用,在配置文件中配置一个content属性,然后将其他属性包含在内,在程序return出来。效果如下所示。
方式三:还可以在yml配置文件中直接给一个对象设置属性以及属性值
将此属性注入:
可以看到上图有个地方报错,在pom.xml文件配置加上:
这样错误就消失了。
浏览器就可以访问到student数据了。
有时候需要使用同样的yml配置,但配置内容不一样。生成环境
比如在主配置文件
可以直接调用
演示
还有一种就是问号传值方式,可以设置id默认值,比如默认值为0.
如果地址中不传送id,默认为0。
在pom文件中添加
在
创建数据库表对应的实体类Student,运行之后,数据库会自动建表student。
创建一个接口PersonRepository,位于dao包下,StudentController调用该接口继承自JpaRepository的方法,来实现和数据库交互。
浏览器输入
嵌入的Tomcat,无需部署War文件
简化Maven配置
自动配置Spring
IDEA用过的人再也不想用eclipse了,自从我入坑IDEA之后,就没怎么打开过eclipse了。这就好像和一个从来都没有使用固态硬盘的人有着同样的感慨,“再也回不去了“。
GroupId可以改成自己的域名,其他默认,然后一路next,最后finish。
这是项目的结构目录,首次运行maven,编译器会下载大量的jar包,如果下载太慢,可以在setting.xml文件里面配置阿里Maven仓库镜像。
<mirror> <!--This sends everything else to /public --> <id>nexus-aliyun</id> <mirrorOf>*</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror>
此时Spring Boot已经默认配置好了pom.xml文件
项目属性配置
如下图所示新建一个HelloController.java文件然后在浏览器中输入http://localhost:8080/hello,浏览器输出”Hello !”。
@Value 从配置文件读取参数
@ConfigurationProperties 把yml里面一组配置参数封装成一个类
@Component 向SpringBoot注册一个类
@Autowired 注入一个类
@RestController = @Controller + @ResponseBody,Spring4 之后新加的注解,原来返回json需要@ResponseBody + @Controller
在Test目录下有一个
application.properties配置文件,可以配置项目属性:
这里推荐使用
application.yml配置文件,相对于
properties更加简洁明了。
方式一:在配置文件中设置一个name属性,然后将此name属性通过注解注入到name属性变量。
方式二:也可以这么来使用,在配置文件中配置一个content属性,然后将其他属性包含在内,在程序return出来。效果如下所示。
方式三:还可以在yml配置文件中直接给一个对象设置属性以及属性值
将此属性注入:
可以看到上图有个地方报错,在pom.xml文件配置加上:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency>
这样错误就消失了。
浏览器就可以访问到student数据了。
有时候需要使用同样的yml配置,但配置内容不一样。生成环境
application-prod.yml和开发环境
application-dev.yml。
比如在主配置文件
application.yml中配置:
server: profiles: active: dev
可以直接调用
dev或
prod配置属性,可以来回切换生产环境和开发环境。
Controller的使用
演示
@RequestMapping和
@PathVariable的作用,在
URL地址栏中输入
id,然后自己获取此
id并且在浏览器上打印出来。
还有一种就是问号传值方式,可以设置id默认值,比如默认值为0.
如果地址中不传送id,默认为0。
@RequestMapping还可以被
@GetMapping或
@PostMapping取代。
数据库操作
JAP(Java Persistence API)定义了一系列的对象持久化标准,目前实现这一规范的有Hibernate、TopLink等。在pom文件中添加
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
在
application.yml配置JPA和数据库
spring: profiles: active: a datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/db_student username: root password: root jpa: hibernate: ddl-auto: update show-sql: true
创建数据库表对应的实体类Student,运行之后,数据库会自动建表student。
创建一个接口PersonRepository,位于dao包下,StudentController调用该接口继承自JpaRepository的方法,来实现和数据库交互。
public interface PersonRepository extends JpaRepository<Person,Integer> { }
@RestController public class StudentController { @Autowired private StudentRepository studentRepository; @GetMapping(value = "/student") private List<Student> studentList() { return studentRepository.findAll(); } }
浏览器输入
http://localhost:8081/student
事务管理
两条 sql 语句同时在一个方法中执行,为了防止一个 sql 语句执行成功而另一个 sql 语句执行失败,引入了事务管理,需要在方法上加 @Transactional事务注解。事务确保了数据库数据的完整性和一致性。相关文章推荐
- IDEA上面搭建一个SpringBoot的web-mvc项目
- IDEA搭建SpringBoot+Maven+Mybatis+MySQL-Web项目流程
- [置顶] 使用IDEA搭建Spring Boot入门项目
- Myeclipse下使用Maven搭建spring boot项目(第二篇)
- Idea使用Maven创建多模块SpringBoot项目问题记录
- 使用idea+springboot+Mybatis搭建web项目
- IDEA上面搭建一个SpringBoot的web-mvc项目
- IDEA上面搭建一个SpringBoot的web-mvc项目
- idea+maven+springboot搭建web简单项目经历小计(RestController)
- 使用IDEA搭建SpringBoot项目且整合mongoDB和mysql
- 使用maven创建一个spring-boot项目-集成springmvc
- 使用idea+springboot+Mybatis搭建web项目
- Myeclipse下使用Maven搭建spring boot项目
- Myeclipse下使用Maven搭建spring boot项目(第一篇)
- 基于maven使用IDEA创建springboot多模块项目
- 使用maven构建一个Spring Boot项目
- 使用idea搭建一个简单的SSM框架:(1)使用idea创建maven项目
- 使用 Intellij idea Springboot maven 的一个小小的问题
- 使用maven 快速搭建springboot项目
- IDEA上面搭建一个SpringBoot的web-mvc项目遇到的问题