-
Bean的配置项: 1、id:身份的唯一标识 2、class:具体要实现的哪一个类 3、scope:它的范围,及作用域 4、Constructor arguments;构造器的参数 5、properties:它的一些属性 6、Autowiring mode:自动加载 7、 8、 理论上只有class是必须的,需要根据id获取时查看全部
-
控制反转,反转了获得依赖对象的过程,讲原来自己去new变为由ioc主动注入这些依赖对象。查看全部
-
ioc:控制权交出去,由外部容器进行创建并维护。 IOC能够创建对象并组装对象之间的关系,并进行维护这些关系。查看全部
-
接口与面向接口编程: 接口是对外提供的一个标准,而具体内部的实现过程是不对外公开的。查看全部
-
spring主要 aop,ioc。ioc主要是xml中配置注解或者注释注解。@compoent 通用spring注解 @service注释service @respoible 注解dao @contrale 注解操作类查看全部
-
@Autowired A、可以通过添加注解给需要该类型的数组的字段或者方法,以提供 ApplicationContext 中的所有特定类型的 Bean B、可以用于装配 key 为 string 的 map C、如果希望数组有序,可以让 Bean 实现 org.springframework.core.Ordered 接口或者使用 @Order 注解查看全部
-
Autowired 注解 A、@Required 注解适用于 Bean 属性的 setter 方法,受影响的 Bean 属性必须在配置时被填充,通过在 Bean 定义或者自动装配时明确一个属性值 B、@Autowired 注解为传统的 setter 方法,也可用于构造函数或者成员变量,如果找不到合适的 Bean 会抛出异常,可以通过 @Autowired(required=false) 的方式避免,并且每个类只能有一个构造函数标记为 required=true,@Autowired 的必要属性建议使用 @Required 注解查看全部
-
Bean 的定义 A、扫描过程中组件被自动检测,那么 Bean 名称是由 BeanNameGenerator 生成 (@Component @Repository @Service @Controller 都会有个 name 属性用于显示设置 Bean Name) B、可自定义 bean 命名策略,实现 BeanNameGener 接口,并一定要包含一个无参构造函数 <context:component-scan base-package="xxx" name-generator="xxx" /> Bean 的作用域(Scope) A、通常情况自动查找到的 Spring 组件默认 @Scope("singleton") B、可以自定义 scope 策略,实现 ScopeMetadataResolver 接口并提供一个无参构造函数 <context:component-scan base-package="xxx" scope-resolve="xxx" /> 代理方式 可以使用 scoped-proxy 属性指定代理(no interfaces targetClass) <context:component-scan base-package="xxx" scoped-proxy="interfaces" />查看全部
-
Bean 的定义及作用域注解 A、@Controller :注解控制器类(控制层 MVC) B、@Service :注解服务类(服务层) C、@Repository :注解 DAO 类(持久层) D、@Component :将普通的 bean 注解到 spring 容器中,相当于配置文件中的<bean id="xxx" class="xxx"/> 元注解(Meta-annotations) 元注解即是许多 Spring 提供的注解可以作为自己的代码,元注解是一个简单的注解,可以应用到另一个注解 除了 value() 元注解还可以有其他的属性,允许定制 类的自动监测及 Bean 的注册 Spring 可以自动检测类并注册 Bean 到 Applicationcontext 中 <context:annotation-config /> 通过基于 xml 的 Spring 配置 为了能够自动检测到这些类并注册相应的 Bean ,需要 <context:component-scan base-package="xxx" /> <context:component-scan> 包含 <context:annotation-config>,通常使用前者后,就不需要再使用后者 使用过滤器进行自定义扫描 A、默认情况下,类被自动发现并注册 bean 的条件:使用 @Component @Repository @Service @controller 注解或者使用 @Component 的自定义注解 B、可以通过过滤器修改默认注解的行为 C、还可以使用 use-default-filters = "false" 禁用自动发现与注册查看全部
-
<!-- <bean id="injectionService" class="com.imooc.ioc.injection.service.InjectionServiceImpl"> --> <!-- <property name="injectionDAO" ref="injectionDAO"></property> --> <!-- </bean> --> <bean id="injectionService" class="com.imooc.ioc.injection.service.InjectionServiceImpl"> <constructor-arg name="injectionDAO" ref="injectionDAO"></constructor-arg> </bean> <bean id="injectionDAO" class="com.imooc.ioc.injection.dao.InjectionDAOImpl"></bean>查看全部
-
1.先定義接口InjectionDAO.java public interface InjectionDAO { public void save(String arg); } 2.實現接口InjectionDAOImpl.java public class InjectionDAOImpl implements InjectionDAO { public void save(String arg) { //模拟数据库保存操作 System.out.println("保存数据:" + arg); } } 3.InjectionService.java public interface InjectionService { public void save(String arg); } 4.InjectionServiceImpl.java public class InjectionServiceImpl implements InjectionService { private InjectionDAO injectionDAO; //构造器注入 public InjectionServiceImpl(InjectionDAO injectionDAO) { this.injectionDAO = injectionDAO; } //设值注入 public void setInjectionDAO(InjectionDAO injectionDAO) { this.injectionDAO = injectionDAO; } public void save(String arg) { //模拟业务操作 System.out.println("Service接收参数:" + arg); arg = arg + ":" + this.hashCode(); injectionDAO.save(arg); } } 二.對應的xml文件:查看全部
-
構造注入查看全部
-
設值注入查看全部
-
Resources (针对于资源文件的统一接口) A、UrlResource:URL 对应的资源,根据一个 URL 地址即可获取 B、ClassPathResource:获取类路径下的资源 C、FileSystemResource:获取文件系统里面的资源 D、ServletContextResource:ServletContext 封装的资源,用于访问 ServletContext 环境下的资源 E、InputStreamResource:获取输入流封装的资源 F、ByteArrayResource:获取字节数组封装的资源 通过实现 ApplicationContextAware 接口中的方法 setApplicationContext(ApplicationContext applicationContext) Resource resource = applicationContext.getResource("xxx"); classpath:config.txt file:C:\\config.txt ftp:C:\\config.txt http://www.baidu.com/more/查看全部
-
Spring的注入查看全部
举报
0/150
提交
取消