spring的@value注解@component注解,java1.5开始提供的@override注解

spring通过注解获取*.properties文件的内容,除了xml配置外,还可以通过@value方式来获取。

使用@value方式必须在当前类使用@component

 

http://blog.csdn.net/zengdeqing2012/article/details/50736119

 

 

java的properties文件需要放到classpath下面,这样程序才能读取到,有关classpath实际上就是java类或者库的存放路径,在java工程中,properties放到class文件一块。在web应用中,最简单的方法是放到web应用的WEB-INF\classes 目录下即可

 

JDK 中的Properties 类Properties 类存在于胞Java.util 中,该类继承自Hashtable,它提供了几个主要的方法: 
1. getProperty(String key),  用指定的键在此属性列表中搜索属性。也就是通过参数key ,得到key 所对应的value 。

 2.load(InputStream inStream),从输入流中读取属性列表(键和元素对)。通过对指定的文件(比如说上面的    test.properties 文件)进行装载来获取该文件中的所有键- 值对。以供getProperty(String key)来搜索。
3. setProperty(String key,String value),调用Hashtable的方法put。他通过调用基类的put方法来设值键- 值对。 

4. store(OutputStream out,String comments),  以适合使用load方法加载到Properties表中的格式,将此Properties表中的属性列表(键和元素对)写入输出流。与load 方法相反,该方法将键- 值对写入到指定的文件中去。

5. clear(),清除所有装载的键 - 值对。该方法在基类中提供。

有了以上几个方法我们就可以对.properties 文件进行操作了!

 

 

1、@controller 控制器(注入服务)
2、@service 服务(注入dao)
3、@repository dao(实现dao访问)
4、@component (把普通pojo实例化到spring容器中,相当于配置文件中的<bean id="" class=""/>)
 
 
 
 
  @Component,@Service,@Controller,@Repository注解的类,并把这些类纳入进spring容器中管理。 
下面写这个是引入component的扫描组件 
<context:component-scan base-package=”com.mmnc”>    

其中base-package为需要扫描的包(含所有子包) 
       1、@Service用于标注业务层组件 
       2、@Controller用于标注控制层组件(如struts中的action) 
       3、@Repository用于标注数据访问组件,即DAO组件. 
       4、@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。    
           @Service public class UserServiceImpl implements UserService { } 
           @Repository public class UserDaoImpl implements UserDao { } getBean的默认名称是类名(头字母小写),如果想自定义,可以@Service(“***”)               这样来指定,这种bean默认是单例的,如果想改变,可以使用@Service(“beanName”) 
           @Scope(“prototype”)来改变。可以使用以下方式指定初始化方法和销毁方法(方法名任意): @PostConstruct public void init() { } 

 

 

@override注解这个用于重写父类方法/实现接口用的
用这个注解可以避免方法名跟参数写错,不写也可以,但不会提示你重写时候的出错

转载于:https://www.cnblogs.com/jianmianruxin/p/8044006.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
@DS注解是Dynamic DataSource Routing的缩写,可以实现动态数据源切换。它可以在方法或类上使用,用于指定使用哪个数据源。下面是一个使用@DS注解实现配置多数据源的示例: 1. 配置多个数据源 ```java @Configuration public class DataSourceConfig { @Bean(name = "dataSource1") @ConfigurationProperties(prefix = "spring.datasource.ds1") public DataSource dataSource1() { return DataSourceBuilder.create().build(); } @Bean(name = "dataSource2") @ConfigurationProperties(prefix = "spring.datasource.ds2") public DataSource dataSource2() { return DataSourceBuilder.create().build(); } } ``` 2. 定义数据源切换注解 ```java @Target({ElementType.METHOD, ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface DS { String value() default "dataSource1"; } ``` 3. 配置数据源切换切面 ```java @Aspect @Component public class DynamicDataSourceAspect { @Pointcut("@annotation(com.example.demo.annotation.DS)") public void dsPointCut() { } @Around("dsPointCut()") public Object around(ProceedingJoinPoint point) throws Throwable { MethodSignature signature = (MethodSignature) point.getSignature(); DS ds = signature.getMethod().getAnnotation(DS.class); if (ds == null) { DynamicDataSourceContextHolder.setDataSourceKey("dataSource1"); } else { DynamicDataSourceContextHolder.setDataSourceKey(ds.value()); } try { return point.proceed(); } finally { DynamicDataSourceContextHolder.clearDataSourceKey(); } } } ``` 4. 在需要使用不同数据源的方法上使用@DS注解 ```java @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @DS("dataSource1") @Override public User getUserById(int id) { return userMapper.getUserById(id); } @DS("dataSource2") @Override public User getUserByUsername(String username) { return userMapper.getUserByUsername(username); } } ``` 这样,在调用getUserById方法时会使用dataSource1数据源,调用getUserByUsername方法时会使用dataSource2数据源。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值