注解
1.注解
注解是在写java代码时最经常用到的一种方法,注解就是Annotation。
注解一般用@来表示,比如我们最常用的@Resource,@Autowired等等这些
2.基础注解
@SpringBootApplication
是Sprnig Boot项目的核心注解,目的是开启自动配置,用来标注在主程序的,表明他是一个springboot项目
@SpringBootApplication 中包含 @link Configuration、@link EnableAutoConfiguration、@link ComponentScan ,这一个注解代替了这三个注解; *
(1)@Configuration 和 @bean 注入定义了一个实体类;
(2)@EnableAutoConfiguration 启用了上下文自动配置;
(3)@ComponentScan 扫描指定的包,若未指定值,默认扫包范围:被注释的 class所在的包;
@Configuration
@Configuration就是一个启动类配置,表明该类被注册为bean,注册到ioc容器中
@EnableAutoConfiguration 也是借助 @Import 的帮助,将所有符合自动配置条件的 bean 定义加载到 IoC 容器
@Controller
处理http请求
@Setter@Getter
使用setter和getter注解时,需要安装插件lombok
这个注解来帮助我们不需要在写set和get方法了 使用该注解,只需要在上方添加该注解,会自动生成自动生成默认的getter / setter
@RequestMapping
@RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。@RequestMapping用在类上可以没有,但是用在方法上必须有。
@RequestMapping放在类名上边,设置请求前缀
@RequestMapping("/item")
方法名上边设置请求映射url:
@RequestMapping放在方法名上边,如下:
@RequestMapping("/queryItem ")
访问地址为:/item/queryItem
@ResponseBody
把返回数据写给浏览器
@Autowired
表示被修饰的类需要注入对象,spring会扫描所有被@Autowired标注的类,然后根据 类型在ioc容器中找到匹配的类注入。
@GetMapping
- @RequestMapping(method = RequestMethod.GET)的简写
- 作用:对应查询,表明是一个查询URL映射
@VelocityLayout
这个指的是页面布局等信息,
比如@VelocityLayout("/velocity/layout/index.vm"),指的是web页面资源在/velocity/layout/index.vm中
@RestController
Spring4之后新加入的注解,原来返回json需要@ResponseBody和@Controller配合。
即@RestController是@ResponseBody和@Controller的组合注解。
3.定义bean的注解
@Bean
@Bean标注在方法上(返回某个实例的方法),等价于spring的xml配置文件中的,作用为:注册bean对象
@Component
@Component注解表明一个类会作为组件类,并告知Spring要为这个类创建bean,@Component(@Controller、@Service、@Repository)通常是通过类路径扫描来自动侦测以及自动装配到Spring容器中。@Component 对那些比较中立的类进行注释
@mapper和@repository
1.使用@mapper后,不需要在spring配置中设置扫描地址,通过mapper.xml里面的namespace属性对应相关的mapper类,spring将动态的生成Bean后注入到ServiceImpl中。
2.@repository则需要在Spring中配置扫描包地址,然后生成dao层的bean,之后被注入到ServiceImpl中
@Configuration
定义该类是配置类,@Configuration就相当于Spring配置文件中的标签,里面可以配置bean
配置一个spring-bean.xml中的标签的作用,主要用于Bean的注入,放置在类上。使用该注解注入Bean后,获取IOC容器的方式不再使用ClassPathXmlApplicationContext或者文件系统路径来获取对应的IOC容器,而是使用AnnotationConfigApplicationContext(AnnotationConfiguration.class)的方式来获取IOC容器(AnnotationConfiguration为自定义的配置类)。
@ComponentScan
@ComponentScan主要就是定义扫描的路径从中找出标识了需要装配的类自动装配到spring的bean容器中,该注解会扫描当前类所在的包和其子包
@Service
@Service用于标注业务层组件,表示定义一个bean
@Repository
@Repository用于标注数据访问组件