@Autowired 可以通过对象的类型来自动加载某个类
@Qualifier 经常与@Autowired一起使用,通过具体名字来自动装配
@Resource 有两个属性:name和type,默认是按照byName注入,相当于前两个整合
前面三个注解针对于bean类型的数据,基本类型和String类型无法实现,因此有了@value注解
@value value属性用于指定数据的值,可以用 ${表达式} 的写法
@Controller 控制层 handler处理器
@Service 服务层
@Repository 持久层,DAO层
@Component 在确定不了是哪一个层的时候使用
Spring会把这四个注解当作需要注入的Bean加载在上下文中
@RequestMapping 这个注解可以作用在方法上,用来指定请求路径。
@RequestBody 用在控制层的方法上,可以将前端传回来的json转换为java对象
@ResponseBody 用在控制层方法上,可以将方法返回的Java对象转为json数据传到前端
这些注解作用于类上,该类的所有方法都适用。
@RestController 用在类上,相当于@Controller+@ResponseBody
@MapperScan 用来扫描指定包内的所有mapper
@SpringBootApplication 是 Spring Boot 最核心、最基础的注解。
@Configuration 用于定义配置类,可以替换xml配置文件。该配置可以省略,加上该注解,获得的类对象默认为单例
@Bean 在@Configuration注解下进行创建,在方法上使用@Bean就表明这个方法需要交给Spring进行管理
@Scope 设置Bean的作用域。
singleton 单例模式,bean的默认作用域,单例模式对于无会话状态的bean(DAO、service)来说,是最理想的选择
prototype 原型模式,对需要保持会话状态的bean应该使用prototype
request 该作用域仅在当前 HTTP Request 内有效
session 该作用域仅在当前 HTTP Session 内有效
application bean对象的定义范围在ServletContext生命周期内。仅仅在web-aware的上下文中有效
websocket bean对象的定义为WebSocket的生命周期内。仅仅在web-aware的上下文中有效
@PostConstruct 注解在方法上,表示该方法是在Spring实例化该Bean之后马上执行此方法。一个Bean中@PostConstruct注解的方法可以有多个
@PreDestory 容器销毁前执行该方法
不用启动项目就可以进行测试
需要先添加junit依赖
@RunWith(SpringJUnit4ClassRunner.class),创建容器
@ContextConfiguration("classpath:xxx.xml"),加载配置文件
@Test,测试方法
@Aspect 把当前类标识为一个切面供容器进行读取
@before(前置通知)通知方法在目标方法调用之前执行
@after(后置通知)通知方法在目标方法返回或异常后调用
@after-returning(返回后通知)通知方法会在目标方法返回后调用
@after-throwing(抛出异常通知)通知方法会在目标方法抛出异常后调用
@around(环绕通知) 通知方法会将目标方法封装起来
首先要在配置文件中开启注解事务
@Transactional添加在接口实现类或接口实现方法上,而不是接口类中。只有public的方法才起作用
@EnableScheduling加在Application类上
@Scheduled加在需要使用定时器的方法上
别名
@Alias