摘要:一什么是摘自官網(wǎng)翻譯采納了建立生產(chǎn)就緒應(yīng)用程序的觀點(diǎn)。優(yōu)先于配置的慣例,旨在讓您盡快啟動(dòng)和運(yùn)行。致力于簡(jiǎn)潔,讓開(kāi)發(fā)者寫(xiě)更少的配置,程序能夠更快的運(yùn)行和啟動(dòng)。二搭建第一個(gè)程序可以在上建項(xiàng)目,也可以用構(gòu)建。已經(jīng)凌晨了,我要睡了源碼
一.什么是spring boot
Takes an opinionated view of building production-ready Spring applications. Spring Boot favors convention over configuration and is designed to get you up and running as quickly as possible. 摘自官網(wǎng) 翻譯:采納了建立生產(chǎn)就緒Spring應(yīng)用程序的觀點(diǎn)。 Spring Boot優(yōu)先于配置的慣例,旨在讓您盡快啟動(dòng)和運(yùn)行。
spring boot 致力于簡(jiǎn)潔,讓開(kāi)發(fā)者寫(xiě)更少的配置,程序能夠更快的運(yùn)行和啟動(dòng)。它是下一代javaweb框架,并且它是spring cloud(微服務(wù))的基礎(chǔ)。
二、搭建第一個(gè)sping boot 程序可以在start.spring.io上建項(xiàng)目,也可以用idea構(gòu)建。本案列采用idea.
具體步驟:
new prpject -> spring initializr ->{name :firstspringboot , type: mavenproject,packaging:jar ,..} ->{spring version :1.5.2 web: web } -> ....
應(yīng)用創(chuàng)建成功后,會(huì)生成相應(yīng)的目錄和文件。
其中有一個(gè)Application類(lèi),它是程序的入口:
@SpringBootApplication public class FirstspringbootApplication { public static void main(String[] args) { SpringApplication.run(FirstspringbootApplication.class, args); } }
在resources文件下下又一個(gè)application.yml文件,它是程序的配置文件。默認(rèn)為空,寫(xiě)點(diǎn)配置 ,程序的端口為8080,context-path為 /springboot:
server: port: 8080 context-path: /springboot
寫(xiě)一個(gè)HelloController:
@RestController //等同于同時(shí)加上了@Controller和@ResponseBody public class HelloController { //訪問(wèn)/hello或者/hi任何一個(gè)地址,都會(huì)返回一樣的結(jié)果 @RequestMapping(value = {"/hello","/hi"},method = RequestMethod.GET) public String say(){ return "hi you!!!"; } }
運(yùn)行 Application的main(),呈現(xiàn)會(huì)啟動(dòng),由于springboot自動(dòng)內(nèi)置了servlet容器,所以不需要類(lèi)似傳統(tǒng)的方式,先部署到容器再啟動(dòng)容器。只需要運(yùn)行main()即可,這時(shí)打開(kāi)瀏覽器輸入網(wǎng)址:localhost:8080/springboot/hi ,就可以在瀏覽器上看到: hi you!!!
三.屬性配置在appliction.yml文件添加屬性:
server: port: 8080 context-path: /springboot girl: name: B age: 18 content: content:${name},age:${age}
在java文件中,獲取name屬性,如下:
@Value("${name}") private String name;
也可以通過(guò)ConfigurationProperties注解,將屬性注入到bean中,通過(guò)Component注解將bean注解到spring容器中:
@ConfigurationProperties(prefix="girl") @Component public class GirlProperties { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
另外可以通過(guò)配置文件制定不同環(huán)境的配置文,具體見(jiàn)源碼:
spring: profiles: active: prod四.通過(guò)jpa方式操作數(shù)據(jù)庫(kù)
導(dǎo)入jar ,在pom.xml中添加依賴(lài):
org.springframework.boot spring-boot-starter-data-jpa mysql mysql-connector-java
在appilication.yml中添加數(shù)據(jù)庫(kù)配置:
spring: profiles: active: prod datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/dbgirl?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8 username: root password: 123 jpa: hibernate: ddl-auto: create show-sql: true
這些都是數(shù)據(jù)庫(kù)常見(jiàn)的一些配置沒(méi)什么可說(shuō)的,其中ddl_auto: create 代表在數(shù)據(jù)庫(kù)創(chuàng)建表,update 代表更新,首次啟動(dòng)需要create ,如果你想通過(guò)hibernate 注解的方式創(chuàng)建數(shù)據(jù)庫(kù)的表的話,之后需要改為 update.
創(chuàng)建一個(gè)實(shí)體girl,這是基于hibernate的:
@Entity public class Girl { @Id @GeneratedValue private Integer id; private String cupSize; private Integer age; public Girl() { } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public String getCupSize() { return cupSize; } public void setCupSize(String cupSize) { this.cupSize = cupSize; } }
創(chuàng)建Dao接口, springboot 將接口類(lèi)會(huì)自動(dòng)注解到spring容器中,不需要我嗎做任何配置,只需要繼承JpaRepository 即可:
//其中第二個(gè)參數(shù)為Id的類(lèi)型 public interface GirlRep extends JpaRepository{ }
創(chuàng)建一個(gè)GirlController,寫(xiě)一個(gè)獲取所有g(shù)irl的api和添加girl的api ,自己跑一下就可以了:
@RestController public class GirlController { @Autowired private GirlRep girlRep; /** * 查詢(xún)所有女生列表 * @return */ @RequestMapping(value = "/girls",method = RequestMethod.GET) public ListgetGirlList(){ return girlRep.findAll(); } /** * 添加一個(gè)女生 * @param cupSize * @param age * @return */ @RequestMapping(value = "/girls",method = RequestMethod.POST) public Girl addGirl(@RequestParam("cupSize") String cupSize, @RequestParam("age") Integer age){ Girl girl = new Girl(); girl.setAge(age); girl.setCupSize(cupSize); return girlRep.save(girl); } }
如果需要事務(wù)的話,在service層加@Transaction注解即可。已經(jīng)凌晨了,我要睡了.
源碼;http://download.csdn.net/deta...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/71467.html
摘要:創(chuàng)建消息監(jiān)聽(tīng),并發(fā)送一條消息在程序中,提供了發(fā)送消息和接收消息的所有方法。 這篇文章帶你了解怎么整合RabbitMQ服務(wù)器,并且通過(guò)它怎么去發(fā)送和接收消息。我將構(gòu)建一個(gè)springboot工程,通過(guò)RabbitTemplate去通過(guò)MessageListenerAdapter去訂閱一個(gè)POJO類(lèi)型的消息。 準(zhǔn)備工作 15min IDEA maven 3.0 在開(kāi)始構(gòu)建項(xiàng)目之前,機(jī)器需...
摘要:本章目標(biāo)基于項(xiàng)目搭建可以站外請(qǐng)求訪問(wèn)的跨域資源服務(wù)器。允許所有的請(qǐng)求域名訪問(wèn)我們的跨域資源,可以固定單條或者多條內(nèi)容,如,只有百度可以訪問(wèn)我們的跨域資源。 CORS(Cross-Origin Resource Sharing)跨域資源共享,是一個(gè)W3C標(biāo)準(zhǔn),它允許瀏覽器向跨域服務(wù)器發(fā)送Ajax請(qǐng)求,打破了Ajax只能訪問(wèn)本站內(nèi)的資源限制,CORS在很多地方都有被使用,微信支付的JS支付...
摘要:是一個(gè)開(kāi)源的應(yīng)用容器引擎,基于語(yǔ)言并遵從協(xié)議開(kāi)源。準(zhǔn)備工作環(huán)境環(huán)境或不要用對(duì)一無(wú)所知的看教程。創(chuàng)建一個(gè)工程引入的起步依賴(lài),創(chuàng)建一個(gè)將工程容器化有一個(gè)簡(jiǎn)單的文件作為指定鏡像的圖層。說(shuō)明的工程已部署。停止鏡像刪除鏡像參考資料源碼下載 這篇文篇介紹,怎么為 springboot程序構(gòu)建一個(gè)docker鏡像。docker 是一個(gè)開(kāi)源的應(yīng)用容器引擎,基于 Go 語(yǔ)言 并遵從Apache2.0協(xié)議...
閱讀 3399·2023-04-26 01:46
閱讀 2928·2023-04-25 20:55
閱讀 5500·2021-09-22 14:57
閱讀 2985·2021-08-27 16:23
閱讀 1723·2019-08-30 14:02
閱讀 2073·2019-08-26 13:44
閱讀 653·2019-08-26 12:08
閱讀 2968·2019-08-26 11:47