为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
Spring入门篇_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

Spring入门篇

moocer JAVA开发工程师
难度中级
时长 7小时 0分
  • 基于java的容器注解
    查看全部
  • @Qualifier适用范围
    查看全部
  • @Qualifier
    查看全部
  • @Qualifier
    查看全部
  • @Qualifier
    查看全部
  • @Autowired
    查看全部
  • Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架
    查看全部
    0 采集 收起 来源:Spring概况

    2016-03-02

  • 对于以注解为中心的配置方式,只需使用@ImportResource注解引入存在的XML即可. 即: @Configuration @ImportResource("classpath:/bookstore/config/spring-beans.xml") public class MyConfig{ } //容器的初始化过程和纯粹的以配置为中心的方式一致: AnnotationConfigApplicationContext ctx =new AnnotationConfigApplicationContext(MyConfig.class);
    查看全部
  • 以XML配置为主的情况: 对于已经存在的大型项目,可能初期是以XML进行Bean配置的,后续逐渐加入了注解的支持,这时我们只需在XML配置文件中将被@Configuration 标注的类定义为普通的<bean>,同时注册处理注解的Bean后处理器即可. 即: // 假设存在如下的@Configuration类: @Configuration public class MyConfig{ @Bean public UserDao userDao(){ return new UserDaoImpl(); } } 此时,只需在XML中作如下声明即可: <beans … > <context:annotation-config /> //bean后处理器 <bean class="demo.config.MyConfig"/> </beans> 由于启用了针对注解的Bean后处理器,因此在ApplicationContext解析到MyConfig类时,会发现该类标注了@Configuration注解,随后便会处理该类中标注@Bean的方法,将这些方法的返回值注册为容器总的Bean. 对于以上的方式,如果存在多个标注了@Configuration的类,则需要在XML文件中逐一列出. 另一种方式是使用前面提到的自动扫描功能,配置如下: <context:component-scan base-package="bookstore.config" /> Spring将扫描所有demo.config包及其子包中的类,识别所有标记了@Component、@Controller、@Service、@Repository注解的类,由于 @Configuration注解本身也用@Component标注了,Spring将能够识别出@Configuration标注类并正确解析之.
    查看全部
  • 基于注解的容器初始化. AnnotationConfigApplicationContext提供了三个构造函数用于初始化容器. 1.AnnotationConfigApplicationContext():该构造函数初始化一个空容器,容器不包含任何Bean信息,需要在稍后通过调用其register()方法注册配置类,并调用refresh()方法刷新容器. 2.AnnotationConfigApplicationContext(Class<?> annotated.class):这是最常用的构造函数,通过将涉及到的配置类传递给该构造函数,以实现将相应配置类中的Bean自动注册到容器中. 3.AnnotationConfigApplicationContext(String basePackages):该构造函数会自动扫描给定的包及其子包下的所有类,并自动识别所有的Spring Bean,将其注册到容器中.它不但识别标注@Configuration的配置类,而且识别使用@Repository、@Service、@Controller、@Component标注的类. 除了使用上面第三种类型的构造函数让容器自动扫描Bean的配置信息以外,AnnotationConfigApplicationContext还提供了scan()方法,其功能与上面也类似.该方法主要用在容器初始化之后动态增加Bean至容器中.调用了该方法以后,通常需要立即手动调用refresh()刷新容器,让更改立即生效. 需要注意的是AnnotationConfigApplicationContext在解析配置类时,会将配置类自身注册为一个Bean,因为@Configuration注解本身定义时被@Component标注了.可以说一个@Configuration同时也是一个@Component. 大多数情况下用不到该Bean. @Configuration的定义如下: @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Component public @interface Configuration { String value() default ""; }
    查看全部
  • 在一般的项目中,为了结构清晰,通常会根据软件的模块或者结构定义多个XML配置文件,然后再定义一个入口的配置文件,该文件使用<import/>标签将其他的配置文件组织起来.最后只需将该文件传给ClassPathXmlApplicationContext的构造函数即可. 针对基于注解的配置,Spring也提供了类似的功能,只需定义一个入口配置类,并在该类上使用@Import注解引入其他的配置类即可,最后只需要将该入口类传递给AnnotationConfigApplicationContext. @Configuration @Import({BookStoreServiceConfig.class,BookStoreDaoConfig.class}) public class BookStoreConfig{ }
    查看全部
  • AnnotationConfigApplicationContext将配置类中标注了@Bean的方法的返回值识别为Spring Bean,并注册到容器中,bean的id值默认是方法名,受IoC容器管理. @Bean的作用等价于XML配置中的<bean/>标签. @Configuration public class A{ @Bean public UserDao userDao(){ return new UserDaoImpl();} @Bean public BookDao bookDao(){return new BookDaoImpl();} } Spring在解析到以上文件时,将识别出标注@Bean的所有方法,执行之并将方法的返回值(这里是UserDaoImpl和BookDaoImpl对象)注册到IoC容器中.默认情况下,Bean的名字即为方法名.因此与以上配置等价的XML配置如下: <bean id=”userDao” class=”bookstore.dao.UserDaoImpl”/> <bean id=”bookDao” class=”bookstore.dao.BookDaoImpl”/> @Bean具有以下四个属性: 1.name:指定一个或者多个Bean的名字,这等价于XML配置中<bean>的id属性. 2.initMethod:容器在初始化完Bean之后,会调用该属性指定的方法.这等价于XML配置中<bean>的init-method属性. 3.destroyMethod:该属性与initMethod功能相似,在容器销毁Bean之前,会调用该属性指定的方法.这等价于XML配置中<bean>的destroy-method属性. 4.autowire:指定Bean属性的自动装配策略,取值是Autowire类型的三个静态属性.Autowire.BY_NAME,Autowire.BY_TYPE,Autowire.NO.与XML配置中的autowire属性的取值相比,这里少了constructor,这是因为constructor在这里已经没有意义了. @Bean没有直接提供指定作用域的属性,可以通过@Scope来实现该功能.
    查看全部
  • 使用@Configuration和@Bean进行Bean的声明 2.0版本发布以来,Spring陆续提供了十多个注解,但是提供的这些注解只是为了在某些情况下简化XML的配置,并非要取代XML配置方式.这一点可以从Spring IoC容器的初始化类可以看出: ApplicationContext接口的最常用的实现类是ClassPathXmlApplicationContext和FileSystemXmlApplicationContext,以及面向Portlet的XmlPortletApplicationContext和面向web的XmlWebApplicationContext,它们都是面向XML的. Spring3.0新增了另外两个实现类:AnnotationConfigApplicationContext和AnnotationConfigWebApplicationContext.从名字便可以看出,它们是为注解而生,直接依赖于注解作为容器配置信息来源的IoC容器初始化类. 由于AnnotationConfigWebApplicationContext是AnnotationConfigApplicationContext的web版本,其用法与后者相比几乎没有什么差别. AnnotationConfigApplicationContext搭配上@Configuration和@Bean注解,XML配置方式不再是Spring IoC容器的唯一配置方式.两者在一定范围内存在着竞争的关系,但是它们在大多数情况下还是相互协作的关系,两者的结合使得Spring IoC容器的配置更简单. 之前将配置信息集中写在XML中,如今使用注解,配置信息的载体由XML文件转移到了Java类中. 通常将用于存放配置信息的类的类名以"Config"结尾,比如AppDaoConfig.java、AppServiceConfig.java 我们需要在用于指定配置信息的类上加上@Configuration注解,以明确指出该类是Bean配置的信息源.并且Spring对标注Configuration的类有如下要求: 1.配置类不能是final的; 2.配置类不能是本地化的,亦即不能将配置类定义在其他类的方法内部; 3.配置类必须有一个无参构造函数。
    查看全部
  • @Scope注解中还有proxyMode属性.该属性用来指定代理方式.
    查看全部
  • 什么是框架
    查看全部
    0 采集 收起 来源:Spring框架

    2016-03-01

举报

0/150
提交
取消
课程须知
Java的高级课程,适合对Java基础知识应用自如,并熟悉MVC架构的小伙伴们。如果想成为一名Java工程师,这门课程是一定要学哒。
老师告诉你能学到什么?
掌握依赖注入、IOC和AOP的概念,并能进行简单应用。
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!