栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring常用注解以及如何实现纯注解

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring常用注解以及如何实现纯注解

@Around(value="execution(* login(..))")
环绕通知,value里面是切入点表达式
 @Component("id") 
替换原有的标签
 衍生注解 @Component
@Service 用于Service层
@Repository 用于Dao层
@Controller 用户控制层
更加准确的表达一个类型的作用
    
@Scope 控制对象创建次数
作用:控制简单对象创建次数
注意:不添加@Scope Spring提供默认值 singleton

@Lazy注解
作用:延迟创建单实例对象
注意:一旦使用了@Lazy注解后,Spring会在使用这个对象时候,进行这个对象的创建

生命周期方法相关注解 
1. 初始化相关方法 @PostConstruct
   InitializingBean
   
2. 销毁方法 @PreDestroy
   DisposableBean
   
注意:1. 上述的2个注解并不是Spring提供的,JSR(JavaEE规范)520
     2. 再一次的验证,通过注解实现了接口的契约性

为jdk类型赋值

1.设置xxx.properties
2.Spring工场读取这个配置文件
	
	@PropertySource替换标签配置
3. @Value("${key}")
	int id;


 ==>@ComponentScan 进行相关注解的扫描,使其生效
@Configuration //用于替换XML配置文件
public class AppConfig1{
  
}
@Configuration
@importResource("applicationContext.xml")//导入配置文件
@import("AppCongi1.class") //导入其他配置类
public class AppConfig2{
  
}

@Bean注解
@Bean注解在配置bean中进行使用,等同于XML配置文件中的 
jdk类型赋值
@Configuration
@PropertySource("classpath:/init.properties")
public class AppConfig1 {
    @Value("${id}")
    private Integer id;
    @Value("${name}")
    private String name;
 
    @Bean
    public Customer customer() {
        Customer customer = new Customer();
        customer.setId(id);
        customer.setName(name);

        return customer;
    }
}
配置优先级
如果不满意,只要id相同,可以进行覆盖,只添加,不修改
@Component及其衍生注解 < @Bean < 配置文件bean标签

 //为spring容器中那些配置@aspectJ切面的bean创建代理,织入切面
使用纯注解编程后,可以用以下注解替换
@EnableAspectjAutoProxy(proxyTargetClass="true|flase") ---> 写在配置文件当中Bean

SpringBoot AOP的开发方式
     @EnableAspectjAutoProxy 已经设置好了
Spring AOP 代理默认实现 JDK  SpringBOOT AOP 代理默认实现 Cglib

纯注解编程

1. 连接池
  
  
    
    
    
    
  
   
   @Bean
   public DataSource dataSource(){
      DruidDataSource dataSource = new DruidDataSource();
      dataSource.setDriverClassName("");
      dataSource.setUrl();
      ...
      return dataSource;
   }

2. SqlSessionFactoryBean
    
    
      
      
      
        
          classpath:com.baizhiedu.mapper/*Mapper.xml
        
      
    

    @Bean
    public SqlSessionFactoryBean sqlSessionFactoryBean(DataSource dataSource){
         SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
         sqlSessionFactoryBean.setDataSource(dataSource);
         sqlSessionFactoryBean.setTypeAliasesPackage("");
         ...
         return sqlSessionFactoryBean;
    }

3. MapperScannerConfigure 
   
  
    
    
  
  对于MapperConfigurespring提供了专属得注解
  @MapperScan(basePackages={"com.baizhiedu.dao"}) ---> 配置bean完成
	会自动扫描SqlsessionFactoryBean
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/357961.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号