常用框架注解

Spring注解

  1. @Controller:控制层(MVC层),DispatcherServlet会扫描此注解类,将web请求映射到此类中注解了@RequestMapping的方法上
  2. @Service:业务逻辑层(service层)
  3. @Repository:数据访问层(dao层)
  4. @Component:把普通的类实例化到spring容器中,相当于配置文件中的 < bean id="" class=""/>。泛指各种组件,就是说当我们的类不属于各种归类的时候(不属于@Controller、@Repository、@Services等的时候),我们就可以使用@Component来标注这个类,不建议使用。

以上四种在在 applicationContext.xml 文件中加一行 < context:component-scan base-package=“包路径”/> 将自动扫描路径下面的包,注解,将自动注册到Spring容器:

  1. @Autowired 自动注入(根据Type去set)
  2. @Resource 自动注入
  3. @Inject 自动注入
  4. @Configuration 声明一个配置类(相当于一个Spring配置的xml文件中的< bean>)
  5. @Bean 注解在方法上,生命当前方法返回值为一个Bean,默认作用域为单例singleton作用域
  6. @Aspect 声明一个切面
  7. @After 后置建言,在原方法前执行
  8. @Before 后置建言,在原方法后执行
  9. @Around 环绕建言,原方法前后都执行
  10. @PointCut 声明切点(定义拦截规则)
  11. @Transactional 声明事务
  12. @Cacheable 声明数据缓存
  13. @PostConstruct 该方法在构造函数执行完成之后执行
  14. @PreDestroy 该方法在对象销毁前执行
  15. @RequestMapping 用来映射web请求
  16. @ResponseBody 将返回值放在response体内。返回的是数据而不是页面
  17. @RequestBody 允许request的参数在request体中,而不是在直接链接在地址的后面。此注解放置在参数前
  18. @PathVariable 放置在参数前,用来接收路径参数
  19. @ModelAttribute 将键值对添加到全局
  20. @SessionAttribute 将键值添加到session

Spring boot注解

  1. @SpringBootApplication:申明让spring boot自动给程序进行必要的配置
  2. @ResponseBody:返回json数据
  3. @RestController:@ResponseBody和@Controller的合集。
  4. @RequestMapping:路径映射
  5. @EnableAutoConfiguration:自动配置,EnableAutoConfiguration或者@SpringBootApplication注解添加到一个@Configuration类上来选择自动配置。
  6. @ComponentScan:表示该类自动发现扫描组件
  7. @Service:一般用于修饰service层的组件
  8. @Repository:这个注解修饰的类会被扫描并配置
  9. @ConfigurationProperties:和 @value 有着相同的功能
application.properties
--------------------------------------------
spring.datasource.url=jdbc:mysql://127.0.0.1:8888/test?useUnicode=false&autoReconnect=true&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.list[0]=00000
spring.datasource.list[1]=11111
----------------------------------------------
DatasourcePro 
----------------------------------------------
@ConfigurationProperties(prefix = "spring.datasource")
@Data
public class DatasourcePro {

    private String url;

    private String username;

    private String password;

    // 配置文件中是driver-class-name, 转驼峰命名便可以绑定成
    private String driverClassName;

    private String type;
    //如果有集合也可以直接用集合,字段名和属性名相同
    // private List<String> list= new ArrayList<>();
}
-----------------------------------------------------    
使用
-----------------------------------------------------
@Controller
@RequestMapping(value = "/config")
public class ConfigurationPropertiesController {

    @Autowired
    private DatasourcePro datasourcePro;

    @RequestMapping("/test")
    @ResponseBody
    public Map<String, Object> test(){

        Map<String, Object> map = new HashMap<>();
        map.put("url", datasourcePro.getUrl());
        map.put("userName", datasourcePro.getUsername());
        map.put("password", datasourcePro.getPassword());
        map.put("className", datasourcePro.getDriverClassName());
        map.put("type", datasourcePro.getType());

        return map;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值