A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 永恒吴海 中级黑马   /  2019-6-5 15:03  /  775 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Spring是分层的 Java SE/EE应用 full-stack 轻量级开源框架
①导入 Spring 开发的基本包坐标

②编写 Dao 接口和实现类

③创建 Spring 核心配置文件

④在 Spring 配置文件中配置 UserDaoImpl

⑤使用 Spring 的 API 获得 Bean 实例
Bean标签基本配置 id:Bean实例在Spring容器中的唯一标识

class:Bean的全限定名称
Bean的依赖注入
        有参构造:  在UserServiceImpl中调用spring创建的userdao
                配置Spring容器调有参注入 <constructor-arg>
       set方法 :   在UserServiceImpl中添加setUserDao方法
                       配置Spring容器调set方法进行注入<property>
Bean的依赖注入的数据类型
普通数据类型的注入: <property name="age" value="15"></property>
集合数据类型(List<User>)的注入 <property name="userList">
        <list>
            <bean class="com.itheima.domain.User"/>
            <bean class="com.itheima.domain.User"/>
            <ref bean="u1"/>
            <ref bean="u2"/>   
集合数据类型( Map<String,User> )的注入  
                <property name="userMap">
        <map>            
            <entry key="user1" value-ref="u1"/>
            <entry key="user2" value-ref="u2"/>  
集合数据类型(Properties)的注入
         <property name="properties">
        <props>
            <prop key="p1">aaa</prop>
            <prop key="p2">bbb</prop>


创建Bean:

- @component
- @service
- @contoller
- @Repository
依赖注入:

- @Autowired :根据类型进行装配,getBean(xxx.class),如果由多个相同的类型的bean在spring容器内,那么就要结合@Qualifier一起使用。
- @Qualifier("name"):根据名字进行装配,但是需要结@Autowired 使用
- @Resource(name="beaname") 根据名字去注入
- @Value 注入普通属性,通常和spel表达式结合,用于读取properties配置文件
新注解:
- @Configuration  :将使用xml创建spring上下文的方式替换掉(该类为核    心配置类)
- @ComponentScan :将包扫描的配置替换掉
- @Bean :将使用外部bean的配置替换掉
- @PropertySource :将加载property文件配置替换掉
- @Import :将引入其他xml配置文件的配置替换掉
Spring 集成Junit:- 导入springJunit jar包的坐标
- @RunWith(SpringJUnit4ClassRunner.class);
- @ContextConfiguration();
  - 传入xml的路径:classpath: applicationContext.xml
  - 传入配置类:classes ={SpringConfiguration.class}
- 用@Autowired,@Resource注入需要使用的bean
- 创建test方法

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马