你的位置:首页 > ASP.net教程

[ASP.net教程]Spring注释,散集积累


@Configuration 传统方式: Java代码 复制代码 收藏代码1.<beans>  2.  <bean id="orderService" class="com.acme.OrderService"/>  3.    <constructor-arg ref="orderRepository"/>  4.  </bean>  5.  <bean id="orderRepository" class="com.acme.OrderRepository"/>  6.    <constructor-arg ref="dataSource"/>  7.  </bean>  8.</beans>   Java代码 复制代码 收藏代码1.ApplicationContext ctx = new ClassPath"application-config.");  2.OrderService orderService = (OrderService) ctx.getBean("orderService");   注解方式: Java代码 复制代码 收藏代码1.@Configuration  2.public class ApplicationConfig {  3.  4.    public @Bean OrderService orderService() {  5.        return new OrderService(orderRepository());  6.    }  7.  8.    public @Bean OrderRepository orderRepository() {  9.        return new OrderRepository(dataSource());  10.    }  11.  12.    public @Bean DataSource dataSource() {  13.        // instantiate and return an new DataSource …  14.    }  15.}   Java代码 复制代码 收藏代码1.JavaConfigApplicationContext ctx = new JavaConfigApplicationContext(ApplicationConfig.class);  2.OrderService orderService = ctx.getBean(OrderService.class);   @Scope("prototype") Java代码 复制代码 收藏代码1.@Scope("prototype")  2.public class PrintTask2 implements Runnable {  3.    String name;  4.  5.    public void setName(String name) {  6.        this.name = name;  7.    }  8.      9.    @Override  10.    public void run(){  11.        System.out.println(name + " is running.");  12.        try{  13.            Thread.sleep(5000);  14.        }catch(InterruptedException e){  15.            e.printStackTrace();  16.        }  17.        System.out.println(name + " is running again.");  18.    }  19.}   如果action或Service中不@Scope("prototype"),有可能报找不到xxxaction或Service的错误!写上这个就表示每次请求都重新创建一个action或Service,与SINGALON对应,俗称“多例”。@Component Java代码 复制代码 收藏代码1.@Component  2.@Scope("prototype")  3.public class PrintTask2 implements Runnable {  4.    String name;  5.  6.    public void setName(String name) {  7.        this.name = name;  8.    }  9.      10.    @Override  11.    public void run(){  12.        System.out.println(name + " is running.");  13.        try{  14.            Thread.sleep(5000);  15.        }catch(InterruptedException e){  16.            e.printStackTrace();  17.        }  18.        System.out.println(name + " is running again.");  19.    }  20.} 把普通pojo实例化到spring容器中,相当于配置文件中的<bean id="" class=""/> @Repository Java代码 复制代码 收藏代码1.@Repository 2.public class DaoImpl implements IDao{ 3.}  应用于Dao层,把该类注册到Spring容器中 @Service Java代码 复制代码 收藏代码1.@Service 2.public class ServiceImpl implements IService { 3.  @Autowired 4.  private IDao iDao;  5.}  应用于Service层,把该类注册到Spring容器中 @Controller Java代码 复制代码 收藏代码1.@Controller 2.public class TestController { 3.  @Autowired 4.  private IService iService; 5.}  应用于Action层,把该类注册到Spring容器中 @Autowired , @Qualifier("XXX") Java代码 复制代码 收藏代码1.@Service  2.public class TestServiceImpl {  3.  @Autowired  4.  @Qualifier("iTestDao2")  5.  private ITestDao iTestDao;  6.}  在ITestDao接口标上@Autowired和@Qualifier注释使得ITestDao接口存在两个实现类的时候必须指定其中一个来注入,使用实现类首字母小写的字符串("iTestDao2")来注入。否则可以省略,只写@Autowired  

获取【下载地址】 【新技术】现在最流行的java后台框架组合java springmvc mybaits mysql oracle html5 后台框架源码