SpringBoot基础

首先创建项目之后,我们有可能会遇到无法启动的问题,要求我们关联dataSource,否则报错,关于这个问题的处理我百度过一些,不尽相同,就我的而言,如下可解决:


在启动类添加注解,然后在application.properties中添加:

debug=true
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration

启动项目之后我们可能要配置文件了。springBoot配置文件首先是application.properties。我们可添加相应配置等等

除此之外yml文件的使用更加方便了框架,在application.yml中

name: Alice
age: 18
content: "name: ${name}, age: ${age}"

然后再controller中声明,就可以使用


Could not resolve placeholder 'name' in value "${name}":
报这个错误的解决方法:
在SpringApplication中添加@Component @PropertySource("applicaton.yml")

另一种方式是


然后创建user实体,在实体类注解

@ConfigurationProperties(prefix = "user")
引用时@Autowired private UserProperties userProperties;

userProperties.getName();

使用 spring.profiles.active 参数,搭配@Profile注解,可以实现不同环境下(开发、测试、生产)配置参数的切换.

根据文档描述,我们除application.properties外,还可以根据命名约定( 
命名格式:application-{profile}.properties)来配置,如果active赋予的参数没有与使用该命名约定格式文件相匹配的话,app则会默认从名为application-default.properties 的配置文件加载配置。 

如:spring.profiles.active=hello-world,sender,dev 有三个参数,其中 dev 正好匹配下面配置中的application-dev.properties 配置文件,所以app启动时,项目会先从application-dev.properties加载配置,再从application.properties配置文件加载配置,如果有重复的配置,则会以application.properties的配置为准。(配置文件加载顺序详见官方文档:24. Externalized Configuration) 


同上yml文件也可以这样使用。application.yml可以控制使用application-dev.yml


注解@Controller 用来响应页面,@Controller必须配合模版来使用,@RestController是@Controller和@ResponseBody的结合体,两个标注合并起来的作用。

在pom.xml文件中添加如下模块依赖:

<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

在resources目录的templates目录下添加一个hello.html文件.

数据库依赖

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

<dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>

</dependency>

yml配置dataSource:

datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/
username:
password:
jpa:
hibernate:
ddl-auto: create

show-sql: true

事务管理@Transactional直接处理事务,不要在接口上声明@Transactional ,而要在具体类的方法上使用 @Transactional 注解,否则注解可能无效。注意事务的传播机制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值