springBoot
-
运行soringBoot程序通过application程序来运行
@SpringBootApplication public class SpringBoot0101QuickstartApplication { public static void main(String[] args) { SpringApplication.run(SpringBoot0101QuickstartApplication.class, args); } }
-
springBoot要联网才能创建,如果你idea无法创建boot项目 可以点击https://start.spring.io/这个网址 在里面填写, 最后会给你生成一个压缩包,这个压缩包导入idea就是一个新的boot项目
如果上面网址不行了, 可以用 http://start.aliyun.com
-
如果你没有网络,也可以创建boot项目
-
开发SpringBoot程序要继承spring-boot-parent
-
spring-boot-parent 中定义了若干个依赖管理 ,继承parent模块可以避免使用相同技术时出现依赖版本冲突,继承parent的形式也可以采用引入依赖的形式实现效果
-
springboot导入坐标的时候,只需要导入gv, 如果报错了,证明parent里面没有包含到你需要导入的坐标的版本号,那么只能自己导入版本
-
application。properties参考文档 Common Application Properties
-
application。proerties 文件 里面的格式
#配置端口将8080改为80 这样就不用写8080 server.port=80
-
以后的application文件 都采用 application。yml格式
#yml格式 server: port: 81
-
properties 和 yml yaml 三个文件共存是, properties文件优先级最高, 当三个文件里面写的一样的属性时,只会保留properties 的 , 三个不一样时,三个都要留下来,按照优先级排序加入 (p》ym》yam)(数据前面的属性要用:加空格隔开)
server: port: 81 Country: china City: chongqing User: - name: zhangshan age: 18 - name: lisi age: 16 # 还可以写成 #User1: [{name:zhangsan,age:18},{name:lisi,age:18}] likes: - swim - bp - bascatball - football - yumaoqiu #还可以写成 #likes: [swim,bp,bascatball,football,yumaoqiu]
-
读取上面在文件里配置的值(采用@Value注解)
//读取application。yml定义的属性 @Value("${Country}") //这里括号里面的名字必须和文件里面配置的名字一样 private String country; @Value("${User.name}") //采用。的方式来获取他的名字 private String username; @Value("${Users[1].name}") private String UsersName; @RequestMapping("/ss") public String get(){ System.out.println("springBoot-begin"); System.out.println(country); System.out.println(username); System.out.println(UsersName);
注意数组的读取有【】 读取某个对象的属性用。
-
配置文件中应用别的 值
#配置文件中的引用 BaseDir: D:window/ temDir: ${BaseDir}/tuser #转义字符用“”包起来 #"/t" 表示一个空格 上面引用 用“”包起来就是 temDir2: “${BaseDir}/tuser” #结果是 D:window/ user
/t在“”表示一个空格
-
可以采用一个代码将配置文件里面所有的配置信息都注入其中
@Autowired //自动装配 通过这个来获取文件里面所有的配置,不用一个一个写了 //这里还可以写Resource 注解 private Environment env;
打印获得的数据用
System.out.println(env.getProperty("User.name"));
-
注意! 我们在文件配置了一些东西如下
#自动封装 mydatasource: driver: http://lostlocall:8080/dataSource url: myUrl username: root password: root
我们想让一个类来得到这些数据,及自动封装, 千万注意 这里的mydataSource 一定要是小写的
然后我们创建一个类
//要让spring容器读取到这个类才能自动封装采用Component注解 @Component //我们只想读取到下面这几个属性,所以要采用ConfigurationProperties注解 @ConfigurationProperties(prefix = "mydatasource") //这里的名字要和文件的对应起来 public class MyDataSource { //这里的属性名字要与文件的名字相对应,不然无法自动封装 private String driver; private String url; private String username; private String password;
我们只想得到 mydatasource 的数据所以用@ConfigurationProperties(prefix = "mydatasource") 注解 让spring容器扫描到我们这个理用Component注解
SpringBoot整合mybatis
-
第一步先创建一个模块 注意 需要什么技术 我们就点什么技术,我们就点sql中的mybatis 和mysql Driver
-
第二 我们在application。yml文件中写入我们的mysql需要的数据
spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver # driver-class-name: com.mysql.jdbc.Driver 两种都可以 url: jdbc:mysql://localhost:3306/test username: root password: xjj168
-
第三:创建接口和实体类, 执行sql语句
@Mapper public interface BookDao { @Select("select * from ssm_boot where id=#{id}") public Book getBookById(int id); }
-
第四:测试(在文件自带的测试类测试)
@SpringBootTest class SpringBootMybatisApplicationTests { @Autowired private BookDao bookDao; @Test void contextLoads() { System.out.println(bookDao.getBookById(1)); } }
-
springBoot整合mybatis-plus
-
第一步先创建模块,但是目前idea并没有mybatis-plus技术的直接导入,所以我们只选择mysql Driver
-
第二步:去https://mvnrepository.com 网址搜索mybatis plus 坐标 然后我们手动导入即可
-
第三步:还是创建pojo 和mapper 但是这里的mapper 只需要继承BaseMapper《你要执行sql的实体类》 这个父方法以及帮我们将增删改查的语句写好了
@Mapper public interface BookDao extends BaseMapper<Book> { }
-
第三步:还是配置数据文件 但是注意! 我们的sql语句都是系统给我们写好的,他执行的表是根据我们的实体类来给出的,所以我们要指明表(如果我们的表是ssm_book那么系统会报错,以为他找不到book表) 所以我们加一个前缀ssm_
spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver # driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/test username: root password: xjj168 #mybatis-plus不用写sql语句 但是你要指明你的表的名字,不然可能会报错 mybatis-plus: global-config: db-config: table-prefix: ssm_
-
第四步:测试 还是老样子
-
SpringBoot 整合druid
-
第一步创建模块 druid坐标直接导入
-
第二步:创建实体类和接口,
-
第三步配置:
# 整合druid #方式一 #spring: # datasource: # driver-class-name: com.mysql.cj.jdbc.Driver # # driver-class-name: com.mysql.jdbc.Driver # url: jdbc:mysql://localhost:3306/test # username: root # password: xjj168 # type: com.alibaba.druid.pool.DruidDataSource #方式二 e spring: datasource: druid: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/test username: root password: xjj168 type: com.alibaba.druid.pool.DruidDataSource
-
第四步:测试
-
总结 整合!
-
整合的步骤!
-
第一步: 创建模块,需要什么技术就加入什么技术, 没有的去网上找坐标
-
第二步: 在配置文件配置 (有些需要,有些不需要)
-
第三步: 测试即可
-