SpringBoot常用注解

2023-11-08

前言:

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程,应用于快速应用开发领域
所需支持:Maven构建提供支持或Gradle ,不懂Maven或者Gradle 的建议还是先去学习学习再研究SpringBoot; JDK1.7

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>cn.et</groupId>
  <artifactId>springboot</artifactId>
  <version>0.0.1-SNAPSHOT</version>
    <parent>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-parent</artifactId>
       <version>1.5.4.RELEASE</version>
   </parent>
   
	<dependencies>
		<!--启用 actuator框架功能 -->
    	<dependency>
	       <groupId>org.springframework.boot</groupId>
	       <artifactId>spring-boot-starter-actuator</artifactId>
 		</dependency>
	
      <dependency>
      		<!--表示可以发布web程序   并启动一个tomcat-->
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-web</artifactId>
      </dependency>  		
      		<!--添加转译jsp的jar 否则无法转译jsp -->
    	<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-tomcat</artifactId>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.tomcat.embed</groupId>
			<artifactId>tomcat-embed-jasper</artifactId>
			<scope>provided</scope>
		</dependency>
			<!--操作数据源  -->
		<dependency>
		    <groupId>org.springframework.boot</groupId>
		    <artifactId>spring-boot-starter-data-jpa</artifactId>
		</dependency>
		<dependency>
			<groupId>oracle</groupId>
			<artifactId>oracle</artifactId>
			<version>3.2.8</version>
			<scope>system</scope>
			<systemPath>D:\app\Administrator\product\11.2.0\dbhome_1\jdbc\lib\ojdbc6.jar</systemPath>
		</dependency>
		<dependency>
			<groupId>commons-dbcp</groupId>
			<artifactId>commons-dbcp</artifactId>
			<version>1.4</version>
		</dependency>
	</dependencies>
  
  	
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>


Controller层常用注解

package cn.et.lesson01.dao;


import java.util.List;


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


/**
 * RestController 目标就是配置
 * 作用:自动配置  消息转换器  jackson
 * 		并在action上添加@ResponseBody
 * 
 * EnableAutoConfiguration 旧版中使用 无法扫描其他类中的注解
 * 自动添加Spring.xml 并自动扫描
 * 自动添加web.xml 并自动生成web.xml中的配置
 * 
 * SpringBootApplication 新版中用的注解  功能比EnableAutoConfiguration更强大
 * 可以扫描到其他类的注解,甚至是架包中的注解
 * @author Ma-PC
 */
@RestController
@SpringBootApplication
public class DaoController {
	
	@Autowired
	private EmpDaoImpl dao;
	
	@RequestMapping("/hello")
	public List hello(){
		return dao.selectEmp();
	}

}


Entity实体类:

package cn.et.entity;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;

import org.hibernate.annotations.Type;


/**
 * Entity注解  表示该类是用于映射的实体类  会自动进行结果集映射
 * @author Ma-PC
 */
@Entity
public class Emp implements java.io.Serializable {

	@Id    //oid
/*	@GeneratedValue指定了标识符的生成策略。JPA提供了4种标准用法。
	  (1)AUTO:根据不同的数据库选择不同的策略。
	  (2)TABLE:使用表保存id值。
	  (3)INDENITY:使用数据库自动生成主键(主要是自动增长类型,如MySql、SQL Server)。
	  (4)SEQUENCE:使用序列创建主键(如Oracle)。*/
	@GeneratedValue(strategy=GenerationType.AUTO)
	@SequenceGenerator(name="sequence",sequenceName="HIBERNATE_SEQUENCE") //指定使用数据库中的哪个序列
	private int empno;
	private String ename;
	private String job;
	private Short mgr;
	@Type(type="date")
	private Date hiredate;
	private Double sal;
	private Double comm;
	private Short deptno;
	

	
	public int getEmpno() {
		return empno;
	}

	public void setEmpno(int empno) {
		this.empno = empno;
	}

	public String getEname() {
		return this.ename;
	}

	public void setEname(String ename) {
		this.ename = ename;
	}

	public String getJob() {
		return this.job;
	}

	public void setJob(String job) {
		this.job = job;
	}

	public Short getMgr() {
		return this.mgr;
	}

	public void setMgr(Short mgr) {
		this.mgr = mgr;
	}

	public Double getSal() {
		return this.sal;
	}

	public void setSal(Double sal) {
		this.sal = sal;
	}

	public Double getComm() {
		return this.comm;
	}

	public void setComm(Double comm) {
		this.comm = comm;
	}

	public Short getDeptno() {
		return deptno;
	}

	public void setDeptno(Short deptno) {
		this.deptno = deptno;
	}

	public Date getHiredate() throws ParseException {
		
		return hiredate;
	
	}

	public void setHiredate(String hiredate) throws ParseException {
		Date parse = new SimpleDateFormat("yyyy-MM-dd").parse(hiredate);
		this.hiredate = parse;
	}
}

Service

/**
 * Transactional 表示该类中的所有方法都使用事务
 * @author Ma-PC
 */
@Transactional
@Service
public class EmpServiceImpl implements EmpService {

	@Autowired
	private EmpDao dao;
	
}


启动类-main方法

@EnableTransactionManagement  //表示启动全局事务支持
@SpringBootApplication
public class Start {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		 SpringApplication.run(Start.class, args); 
	}

}

Configuration 其他配置

package cn.et.lesson01.ioc;

import javax.sql.DataSource;

import org.apache.commons.dbcp.BasicDataSource;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * Configuration 标识该类为一个bean的容器
 * 
 * 
 * @author Administrator
 */
@Configuration
public class BeanContainer {
	
	/**
	 * @Bean
	 * 调用该方法产生一个bean
	 * 方法名 就是 id;
	 * 
	 * @ConfigurationProperties(prefix="dbcpsource")
	 * 自动扫描资源文件 并且将资源文件中前缀包含"dbcpsource"的四要素
	 * 自动填充到BasicDataSource中;
	 * 
	 * @return
	 */
	@Bean
	@ConfigurationProperties(prefix="dbcpsource")
	public DataSource  dataSource(){
		BasicDataSource  dataSource = new BasicDataSource();
		return dataSource;
	}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SpringBoot常用注解 的相关文章

随机推荐

  • 8位, 16位,24位,32位图片显示原理及对比

    我们都知道一张图片可以保存为很多种不同的格式 比如bmp png jpeg gif等等 这个是从文件格式的角度看 我们抛开文件格式 看图片本身 我们可以分为8位 16位 24位 32位等 单击右键 属性 gt 详细信息即可查看图片位深度 8
  • Multimap运用

    Multimap概念 Multimap的特点其实就是可以包含有几个重复key的value值 你可以put进多个不同的value 但是key相同 但是又不是让后面的覆盖前面的内容 业务场景 当你需要构造像Map
  • 判断无向图G是否连通。若连通返回1,否则返回0

    判断无向图G是否连通 若连通返回1 否则返回0 CODE 判断无向图G是否连通 若连通返回1 否则返回0 define N 1 gt gt 8 代替无穷大 默认 邻接矩阵 define size 6 include
  • Java学习笔记 面向对象(中)

    第五章 面向对象 中 1 封装 2 继承 3 多态 1 封装 有public protect private 三种控制权限 可以修饰类 属性成员 方法 下表为修饰类和类属性成员与方法时 可以被谁访问 类前修饰符 行 类属性成员与方法 列 p
  • gdb调试常见命令详细总结(附示例操作)

    一 简介 通过gdb调试我们可以监控程序执行的每一个细节 包括变量的值 函数的调用过程 内存中数据 线程的调度等 从而发现隐藏的错误或者低效的代码 程序的调试过程主要有 单步执行 跳入函数 跳出函数 设置断点 设置观察点 查看变量 本文将主
  • TurboDX

    应用场景 当需要使用从一个库数据抽取 清洗到另一个库中 需要使用到ETL也就是kettle数据采集工具 但是KETTLE是CS架构的 并且配置流程 配置任务还是比较复杂的 比如配置一个增量更新 那么就需要使用触发器 时间戳 MD5等方式 配
  • matlab 状态方程 仿真,Subspace Identification for Linear Systems 状态空间方程的子空间辨识 matlab工程仿真案例(subspace identif...

    压缩包 ddd1230317d25772a9b2be7a941a514 zip 列表 vanoverschee vanoverschee APPLIC vanoverschee APPLIC appl1 m vanoverschee APP
  • [Vulkan教程] 一: 创建VkDevice

    这个系列的文章是写给对已有的D3D11和GL比较熟悉并理解多线程 资源暂存 同步等概念但想进一步了解它们是如何以Vulkan实现的读者 文章并不追求通俗易懂 里面有很多术语 为了解里面的晦涩内容 建议去阅读Vulkan规范或者更深度的教程
  • 【概率论与数理统计】期末不挂科复习笔记

    概率论与数理统计 期末不挂科复习笔记 只能说最好先看看老师的ppt 在看看猴博士就全懂了 第一章 条件概率 全概率 贝叶斯公式 1 无放回类题目 无放回 直接用C解 2 有放回类题目 有放回 使用 n1 n2 n1 n2 然后乘上每种的概率
  • private static final long serialVersionUID = 1L;是用来做什么的

    private static final long serialVersionUID 1L 是定义以一个序列号 java源码里有大量的类都有这么一个序列号 目的就是把java对象序列化而后进行保存 java的序列化机制式通过判断类的seri
  • IDEA上配置mysql

    IDEA是一个集成工具 它为很多工具提供了快速便捷的配置方式 配置mysql我们只需要添加Database就行了 Database一般是在右侧 找不到的话可以在View中里找到打开 如下图 添加数据库步骤 这里选上mysql 填写相应信息
  • JMeter界面字体大小修改

    1 找到jmeter所在目录 gt bin gt jmeter properties 搜索jsyntaxtextarea font size 去掉 把14改成18 2 修改右侧参数比例 jmeter所在目录 gt bin gt jmeter
  • Spring Boot 整合 Mybatis 实现 Druid 多数据源配置

    目录 1 多数据源的应 场景 2 数据库脚本 3 项目结构 4 代码 依赖 pom xml 配置文件 数据源配置类 实体类 sql映射文件 dao srvice controller 启动类 5 小节 6 事务问解决 1 多数据源的应 场景
  • C++-FFmpeg-1-VS2019-x264-fdk_aac-x265-pdb-QT5.14-makefile

    1 环境搭建 1 1VS2019 用的是控制台编译 1 2 msys2 模拟linux的命令和指令 2 源码编译与安装 2 1 x264 ffmpeg 编码用X264 2 2x265 ffmpeg 编码用X265 c 写的 msys2编译
  • 多边形的扫描转化算法

    多边形的扫描转化算法 python 实现 实验目的 实现从多边形顶点表示到点阵表示的转换 从多边形给定的边界出发 通过扫描线的方式求出位于其内部各个像素 从而达到对多边形填充的作用 算法思想 按扫描线顺序 计算扫描线与多边形的相交的交点 这
  • 竞赛 基于机器视觉的二维码识别检测 - opencv 二维码 识别检测 机器视觉

    文章目录 0 简介 1 二维码检测 2 算法实现流程 3 特征提取 4 特征分类 5 后处理 6 代码实现 5 最后 0 简介 优质竞赛项目系列 今天要分享的是 基于机器学习的二维码识别检测 opencv 二维码 识别检测 机器视觉 该项目
  • Linux性能测试工具-UnixBench--安装以及结果分析

    UnixBench unixbench是一个用于测试unix系统性能的工具 也是一个比较通用的benchmark 此测试的目的是对类Unix 系统提供一个基本的性能指示 很多测试用于系统性能的不同方面 这些测试的结果是一个指数值 index
  • pcb叠层设计及资料输出

    PCB叠层设计 一 4层板 方案1 top gnd pwr bottom 此方案也是最常见的 主要元器件和关键信号在top 方案2 top pwr gnd bottom 此方案是主要元器件放bottom 很少用 方案3 gnd s1 pwr
  • 区块链技术系列(1) - 数字签名

    导读 在现实社会中 签名作为签名者身份的一种证明 签名代表对签名文件的认可 不可抵赖 理论上签名是可信 不可伪造的 现在网络环境越来越广泛 有大量的信息通过网络传播 并且会保存在上面 这些电子数据显然无法人工签名 数字签名就孕育而生 本文将
  • SpringBoot常用注解

    前言 Spring Boot是由Pivotal团队提供的全新框架 其设计目的是用来简化新Spring应用的初始搭建以及开发过程 应用于快速应用开发领域 所需支持 Maven构建提供支持或Gradle 不懂Maven或者Gradle 的建议还