Spring Boot入门——搭建一个maven项目

搭建参考链接:https://blog.csdn.net/qq_33552049/article/details/78963432

1 开发工具:

        JDK 1.8

        IntelliJ IDEA

        MAVEN

        省略IDEA集成maven步骤

2 编码

        新建maven项目project:new project---Spring Initializr----默认,next

 

填写group为com.kxt,Artifact为springboot,Java version为8,选择next

点选web-----右边点选next----- 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>


如下图所示新建一个HelloController.java文件项目属性配置

另外,项目启动类SpringbootApplication,要添加注解如下

右键run---SpringbootApplication。

如果运行没有报错,一直停留在运行界面,然后在浏览器中输入http://localhost:8888/hello,浏览器输出”hello world!!”。

  1. @Value 从配置文件读取参数
  2. @ConfigurationProperties 把yml里面一组配置参数封装成一个类
  3. @Component 向SpringBoot注册一个类
  4. @Autowired 注入一个类
  5. @RestController = @Controller + @ResponseBody,Spring4 之后新加的注解,原来返回json需要@ResponseBody + @Controller

在Test目录下有一个application.properties配置文件,可以配置项目属性:

#修改tomcat的默认的端口号,将8080改为8888
server.port=8888

#连接数据库信息
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/
spring.datasourse.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc

这里推荐使用application.yml配置文件,相对于properties更加简洁明了。

方式一:在配置文件中设置一个name属性,然后将此name属性通过注解注入到name属性变量。

 

方式二:也可以这么来使用,在配置文件中配置一个content属性,然后将其他属性包含在内,在程序return出来。效果如下所示。

 

http://wx4.sinaimg.cn/mw690/006YxpfSgy1fn3ihuuz31j308302kjr9.jpg

方式三:还可以在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配置属性,可以来回切换生产环境和开发环境。

演示@RequestMapping和@PathVariable的作用,在URL地址栏中输入id,然后自己获取此id并且在浏览器上打印出来。

 

还有一种就是问号传值方式,可以设置id默认值,比如默认值为0.

如果地址中不传送id,默认为0。

@RequestMapping还可以被@GetMapping或@PostMapping取代。

数据库操作

JAP(Java Persistence API)定义了一系列的对象持久化标准,目前实现这一规范的有HibernateTopLink等。 

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事务注解。事务确保了数据库数据的完整性和一致性。

    

猜你喜欢

转载自blog.csdn.net/tao_629/article/details/82771972