若是是web項目能夠加入web 依賴,點擊Generate Project生成demo文件,直接導入就好。java
File—New—Projectweb
next填寫Group與Artifact,next,定製依賴,選擇本身須要的依賴而後Finishspring
這樣一個基礎的Spring Boot項目就搭建好了。sql
3.Spring Boot如此流行的一個重要緣由也是它的最大優點就是極大簡化了配置,將一些經常使用的性能穩定的工具進行進一步地封裝成一個個小模塊,當須要的時候直接引入依賴就足夠了,好比說我想添加與Oracle數據庫的鏈接,僅僅要作的是加入spring-boot-starter-data-jpa的依賴,與標識Oracle的依賴包ojdbc,另外在配置文件中配置一下鏈接的url、用戶名密碼就好、甚至數據源都不須要本身去裝配、它默認使用tomcat的鏈接池。當須要本身去定製鏈接池的時候,直接在配置文件中加入鏈接池的Bean位置(全名稱)就好,極大簡化了spring的初始配置,很是適合一些獨立運行的小項目的搭建,快速穩定。數據庫
以查詢班級信息爲例。數據庫中表字段:apache
<!--Oracle--> <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc14</artifactId> <version>10.2.0.4.0</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency>
#數據庫 spring.datasource.type=org.apache.tomcat.jdbc.pool.DataSource spring.datasource.tomcat.max-wait=10000 spring.datasource.tomcat.max-active=50 spring.datasource.tomcat.test-on-borrow=true #前面四個配置能夠不寫,由於在Spring Boot 1.5.9版本中是默認使用tomcat的鏈接池。 spring.datasource.url=jdbc:oracle:thin:@127.0.0.1(IP地址):1521(端口號):orcl(實例名) spring.datasource.username=username spring.datasource.password=password
@Repository public class ClassDaoImpl{ @Autowired private JdbcTemplate jdbcTemplate; public List<Class> findAll() { String sql = "select * from class"; return jdbcTemplate.query(sql, (resultSet, i) -> { Class classInf = new Class(); classInf.setClassid(resultSet.getString("CLASSID")); classInf.setClassname(resultSet.getString("CLASSNAME")); classInf.setClassno(resultSet.getString("CLASSNO")); classInf.setGrade(resultSet.getString("GRADE")); classInf.setPid(resultSet.getString("PID")); classInf.setState(resultSet.getInt("STATE")); return classInf; });
@RestController public class ClassController { @Resource(name = "classDao") private ClassDao classDao; @RequestMapping("/test") public List<Class> findAll() { return classDao.findAll(); } }
@RestController是Spring Boot特有的註解,被註解的類其中的方法都默認將對象以一種流的方式處理成Json串返回。瀏覽器
測試:1.啓動Application,Application是Spring Boot啓動的入口,Spring Boot 直接集成了servlet容器tomcat七、八、jetty、Undertow,默認是tomcat。不須要進行額外配置。直接啓動便可。tomcat
2.若換成jetty,在pom文件的starter中,排除tomcat、增長jetty依賴便可。oracle
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> </dependency>
增長jetty依賴:app
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jetty</artifactId> </dependency>
3.瀏覽器訪問http://localhost:8080/test,就會返回從數據庫紅查找出的字符串。
@Configuration @EnableScheduling public class Scheduler { private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Resource(name = "scheduleService") private ScheduleService scheduleService; @Scheduled(cron = "${SCHEDULEINTERVAL}") public void doTask() { logger.info("定時任務開始"); scheduleService.doTask(); logger.info("定時任務結束"); } }
@Configuration表示這是一個配置類
@EnableScheduling表示開啓定時任務,
Cron表達式從配置文件中獲取。爲SCHEDULEINTERVAL=0 0/10 * * * ?
意爲每十分鐘執行一次。
String sql = "call TESTPROCEDURE(10)";
TESTPROCEDURE爲過程名,(10)表示入參爲10。
jdbcTemplate.execute(sql);
#包名 PROCEDURE.PACKAGENAME[0]=PKG_AJJ_DATA_FMKS PROCEDURE.PACKAGENAME[1]=PKG_AJJ_DATA_TZRY PROCEDURE.PACKAGENAME[2]=PKG_AJJ_DATA_WXP PROCEDURE.PACKAGENAME[3]=PKG_AJJ_DATA_YZDP PROCEDURE.PACKAGENAME[4]=PKG_AJJ_DATA_ZZJG #過程名 PROCEDURE.PROCEDURENAME[0]=PRC_BN_INF_APPLY PROCEDURE.PROCEDURENAME[1]=PRC_BN_INF_APPLY_PROCESS PROCEDURE.PROCEDURENAME[2]=PRC_BN_INF_APPLY_RESULT PROCEDURE.PROCEDURENAME[3]=PRC_T_ZZ_ZM_INFO PROCEDURE.PROCEDURENAME[4]=PRC_BASE_INFO PROCEDURE.PROCEDURENAME[5]=PRC_ERROR_INFO
@ConfigurationProperties(prefix = "PROCEDURE") @Component(value = "procedureName") public class ProcedureName { private List<String> PACKAGENAME = new ArrayList<>(); private List<String> PROCEDURENAME = new ArrayList<>(); public List<String> getPACKAGENAME() { return PACKAGENAME; } public void setPACKAGENAME(List<String> PACKAGENAME) { this.PACKAGENAME = PACKAGENAME; } public List<String> getPROCEDURENAME() { return PROCEDURENAME; } public void setPROCEDURENAME(List<String> PROCEDURENAME) { this.PROCEDURENAME = PROCEDURENAME; } }
@ConfigurationProperties(prefix = "PROCEDURE")
自動將配置文件中前綴爲PROCEDURE的配置信息自動映射到類中。
@Component(value = "procedureName")
讓Spring自動建立,能夠在其它類中裝配。