博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring Boot
阅读量:6969 次
发布时间:2019-06-27

本文共 4878 字,大约阅读时间需要 16 分钟。

hot3.png

一、Spring Boot搭建环境

1.方式一:进入Spring Boot 官方网站,点击QUICK START,选择current版本。点击start.spring.io。

162741_otwI_3544275.png

162751_HW5N_3544275.png

如果是web项目可以加入web 依赖,点击Generate Project生成demo文件,直接导入就好。

2.方式二:使用IDE工具生成。这里使用idea作为演示。

File—New—Project

162832_PLNC_3544275.png

next填写Group与Artifact,next,定制依赖,选择自己需要的依赖然后Finish

这样一个基础的Spring Boot项目就搭建好了。

3.Spring Boot如此流行的一个重要原因也是它的最大优势就是极大简化了配置,将一些常用的性能稳定的工具进行进一步地封装成一个个小模块,当需要的时候直接引入依赖就足够了,比如说我想添加与Oracle数据库的连接,仅仅要做的是加入spring-boot-starter-data-jpa的依赖,与标识Oracle的依赖包ojdbc,另外在配置文件中配置一下连接的url、用户名密码就好、甚至数据源都不需要自己去装配、它默认使用tomcat的连接池。当需要自己去定制连接池的时候,直接在配置文件中加入连接池的Bean位置(全名称)就好,极大简化了spring的初始配置,非常适合一些独立运行的小项目的搭建,快速稳定。

 

二、Spring Boot 连接Oracle数据库

1.使用Spring自带的JdbcTemplate。

以查询班级信息为例。数据库中表字段:

162825_YFiC_3544275.png

2.pom.xml中加入依赖:

com.oracle
ojdbc14
10.2.0.4.0
org.springframework.boot
spring-boot-starter-data-jpa

3.application.properties中加入数据库配置。(也可以用yml配置文件,不过个人不习惯)

#数据库spring.datasource.type=org.apache.tomcat.jdbc.pool.DataSourcespring.datasource.tomcat.max-wait=10000spring.datasource.tomcat.max-active=50spring.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=usernamespring.datasource.password=password

4.ClassDaoImpl中。

@Repositorypublic class ClassDaoImpl{    @Autowired    private JdbcTemplate jdbcTemplate;    public List
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; });

5.ClassController中:

@RestControllerpublic class ClassController {    @Resource(name = "classDao")    private ClassDao classDao;    @RequestMapping("/test")public List
findAll() { return classDao.findAll(); }}

@RestController是Spring Boot特有的注解,被注解的类其中的方法都默认将对象以一种流的方式处理成Json串返回。

测试:1.启动Application,Application是Spring Boot启动的入口,Spring Boot 直接集成了servlet容器tomcat7、8、jetty、Undertow,默认是tomcat。不需要进行额外配置。直接启动即可。

2.若换成jetty,在pom文件的starter中,排除tomcat、增加jetty依赖即可。

org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-tomcat

增加jetty依赖:

org.springframework.boot
spring-boot-starter-jetty

3.浏览器访问,就会返回从数据库红查找出的字符串。

三、Spring Boot添加定时任务:

1.添加配置类:

@Configuration@EnableSchedulingpublic 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 * * * ?

意为每十分钟执行一次。

 

四、Spring Boot执行存储过程。

String sql = "call TESTPROCEDURE(10)";

TESTPROCEDURE为过程名,(10)表示入参为10。

jdbcTemplate.execute(sql);

五、Spring Boot获取配置文件中的List数据

1.配置文件中:

#包名PROCEDURE.PACKAGENAME[0]=PKG_AJJ_DATA_FMKSPROCEDURE.PACKAGENAME[1]=PKG_AJJ_DATA_TZRYPROCEDURE.PACKAGENAME[2]=PKG_AJJ_DATA_WXPPROCEDURE.PACKAGENAME[3]=PKG_AJJ_DATA_YZDPPROCEDURE.PACKAGENAME[4]=PKG_AJJ_DATA_ZZJG#过程名PROCEDURE.PROCEDURENAME[0]=PRC_BN_INF_APPLYPROCEDURE.PROCEDURENAME[1]=PRC_BN_INF_APPLY_PROCESSPROCEDURE.PROCEDURENAME[2]=PRC_BN_INF_APPLY_RESULTPROCEDURE.PROCEDURENAME[3]=PRC_T_ZZ_ZM_INFOPROCEDURE.PROCEDURENAME[4]=PRC_BASE_INFOPROCEDURE.PROCEDURENAME[5]=PRC_ERROR_INFO

2.配置类:

@ConfigurationProperties(prefix = "PROCEDURE")@Component(value = "procedureName")public class ProcedureName {    private List
PACKAGENAME = new ArrayList<>(); private List
PROCEDURENAME = new ArrayList<>(); public List
getPACKAGENAME() { return PACKAGENAME; } public void setPACKAGENAME(List
PACKAGENAME) { this.PACKAGENAME = PACKAGENAME; } public List
getPROCEDURENAME() { return PROCEDURENAME; } public void setPROCEDURENAME(List
PROCEDURENAME) { this.PROCEDURENAME = PROCEDURENAME; }}

@ConfigurationProperties(prefix = "PROCEDURE")

自动将配置文件中前缀为PROCEDURE的配置信息自动映射到类中。

@Component(value = "procedureName")

让Spring自动创建,可以在其它类中装配。

转载于:https://my.oschina.net/u/3544275/blog/1583549

你可能感兴趣的文章
python读取.mat文件
查看>>
JAVA-JSP注释
查看>>
RSA加密异常
查看>>
搭建自己的iOS内测分发平台
查看>>
Unix下C语言开发工具
查看>>
AXURE插件在 Chrome 浏览器中用不了怎么办?
查看>>
css 文本超出2行就隐藏并且显示省略号
查看>>
25.EXTJS 主页面的jsp
查看>>
Verilog语法
查看>>
PGA
查看>>
用H5上传文件
查看>>
Atom替换换行符
查看>>
ASP.NET Core 开源GitServer 实现自己的GitHub
查看>>
今天周五啦
查看>>
Linux SendMail发送邮件失败诊断案例(四)
查看>>
C# ManualResetEventSlim 实现
查看>>
JMockit常用操作
查看>>
NO.2 安装配置
查看>>
SpringMVC+hibernate4事务处理
查看>>
大型网站架构演化历程
查看>>