spring-boot起步介绍Demo,廖师兄springboot学习笔记
来源:互联网 发布:无线游戏鼠标 知乎 编辑:程序博客网 时间:2024/05/23 13:05
在慕课网上面学习了廖师兄的spring-boot 2小时入门的课程,为了防止忘记,这里记了一些笔记和一些想法。可以转载,请转载的时候注明以上信息即可。
一、使用IDEA
- 新建项目 new project
- Spring Initializr
- 目录解释:
- templates自动生成,放着spring-boot的模版,现在都是前后端分离,一般不用这个,这个性能不好,就算是写jsp也不用模版
- application.properties是配置文件,建议使用.yml文件,简单不说格式还很舒服
- TestApplication main方法启动服务
- 其他的都一眼看懂了
- 除了main方法启动,windows和linux都可以使用命令行启动,本地是windows的,所以进入项目目录内通过 mvnw.cmd spring-boot:run启动,linux应该直接mvn……即可,网上可以查阅
二、配置文件
server: port: 8080 #端口 默认是8080 context-path: /man #requestMapping一样,首路径拦截 user: cupSize: B # 业务中可以通过 @Value("${girl.age}") age: 18 # 如果需要注入到对象中,则在对象中增加@ConfigurationProperties(prefix = "user") 前缀是user spring: datasource: url: jdbc:mysql://127.0.0.1:3306/test driver-class-name: com.mysql.jdbc.Driver username: root password: root jpa: show-sql: true #打印sql语句 hibernate: ddl-auto: update #create 每次启动都新建表 #update 每次判断是否存在,不删除原有数据,最常用 #create-drop 应用停止就删除表 #none没有操作 #validate 验证是否一致,不一致报错
三、pom.xml文件
- 默认生成的包含了web和test以及一个manven插件
- 其他的:jpa和mysql是和数据库相关
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
四、实体类,项目启动自动建表(配置文件)
@Entity public class Man { @Id @GeneratedValue private Integer id; // 主键,自动增长 private String name; public Man() { // 必须需要一个构造方法 } get、set方法 }
五、sql实现层代码,是个接口
// controller @autowired使用 public interface ManRepository extends JpaRepository<Man, Integer> { List<Man> findByName(String name); }
- 继承JpaRepository即可,< Man,Integer> Man是要查询的实体类,Integer是主键的类型
- findByName是自己除了增删改查新增的方法,这里的格式要求严格,findBy…
六、controller代码,@PathVariable restful风格{id}获得这个id
@RestController public class ManController { @Autowired private ManRepository manRepository; // 继承jpa的接口,使sql变得非常简单 /** * 查询所有 * @return */ @GetMapping(value = "/mans") // get方法 public List<Man> manList(){ return manRepository.findAll(); // 默认就有的方法 } /** * 新增一个 */ @PostMapping(value = "mans") // post方法 public Man manAdd(@RequestParam("name")String name){ Man man = new Man(); man.setName(name); return manRepository.save(man); // 默认就有的方法 } /** * 更新(如果id不存在则add,存在则update) */ @PutMapping("/mans/{id}") // put方法 public Man manUpdate(@PathVariable(value = "id")Integer id, @RequestParam("name")String name){ Man man = new Man(); man.setName(name); man.setId(4); return manRepository.save(man); // 默认就有的方法 } /** * 删除 */ @DeleteMapping("/mans/{id}") // delete方法 public void manDelete(@PathVariable(value = "id")Integer id){ manRepository.delete(id); // 默认就有的方法 } /** * 主键查询 */ @GetMapping(value = "/findById/{id}") public Man findById(@PathVariable(value = "id")Integer id){ return manRepository.findOne(id); // 默认就有的方法 } /** * 其他条件查询 */ @RequestMapping(value = "/findByName/{name}") public List<Man> findByName(@PathVariable(value = "name")String name){ return manRepository.findByName(name); // 自己扩展的方法 }
@Autowired private ManServer manServer; // 测试事务用,很简单的一个小方法 /** * 事务处理 */ @RequestMapping(value = "two") public void two(){ manServer.insertTwo(); }
七、业务层代码
@Service public class ManServer { @Autowired private ManRepository manRepository; @Transactional // 业务,只要是增删改都建议用 public void insertTwo(){ Man a = new Man(); Man b = new Man(); a.setName("1"); b.setName("2"); manRepository.save(a); // int i = 0; // System.out.println(0/i); // 报错业务测试 manRepository.save(b); } }
八、模版
- 一般是不建议用,比较占用内存不说,现在都是前后端分离,用jsp都行。
- pom引入
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
- templates里面增加index.html
- html里面什么都不用写,要清空否则报错。然后直接写各种代码即可
- 直接在controller里面和springmvc一样返回String即可
九、IDEA必须是旗舰版才能使用这个,eclipse安装插件才行,很久不用eclipse了,就不乱说了。
阅读全文
0 0
- spring-boot起步介绍Demo,廖师兄springboot学习笔记
- Spring-boot学习起步
- 1、Spring Boot学习笔记:初识springboot
- springboot学习笔记--搭建Spring Boot工程
- SpringBoot学习笔记(2) Spring Boot的一些配置
- SpringBoot学习笔记(3) Spring Boot 运行原理,自动配置
- SpringBoot学习笔记(4) Spring Boot 集成 Mybatis
- SpringBoot学习笔记(4) Spring Boot 集成 Mybatis
- SpringBoot学习笔记(2) Spring Boot的一些配置
- Spring Boot 学习笔记一(SpringBoot启动过程)
- SpringBoot学习笔记(3) Spring Boot 运行原理,自动配置
- SpringBoot学习笔记(2) Spring Boot的一些配置
- SpringBoot学习笔记001--创建第一个spring boot应用
- springboot学习笔记--Spring Boot使用数据库(MySQL)
- springboot学习笔记(一) Spring boot Hello Word!
- Spring Boot 学习1--Spring boot起步之Hello World
- GraphQL学习笔记(GraphQL + Spring boot demo) part 1
- GraphQL学习笔记(GraphQL + Spring boot demo) part 2
- 单位和值
- adb push
- 集群项目session 共享方案
- 自定义Java线程池
- JAVA局部变量加final修饰的好处
- spring-boot起步介绍Demo,廖师兄springboot学习笔记
- oracle添加栏位
- 原型模式
- Android四大组件-内容提供者
- Zurmo开发的小技巧(8)
- QML之Grid网格定位器
- eclipse maven项目中修改 tomcat 部署路径
- Spring MVC中的@ModelAttribute
- scrollview 嵌套gridview 和 listview 会有冲突