File tree 4 files changed +114
-0
lines changed
src/main/java/com/crossoverjie/spring
4 files changed +114
-0
lines changed Original file line number Diff line number Diff line change
1
+ package com .crossoverjie .spring ;
2
+
3
+ import com .crossoverjie .concurrent .Singleton ;
4
+ import org .springframework .context .annotation .Bean ;
5
+ import org .springframework .context .annotation .ComponentScan ;
6
+ import org .springframework .context .annotation .Configuration ;
7
+
8
+ /**
9
+ * Function:
10
+ *
11
+ * @author crossoverJie
12
+ * Date: 19/03/2018 22:37
13
+ * @since JDK 1.8
14
+ */
15
+ @ Configuration
16
+ public class LifeCycleConfig {
17
+
18
+
19
+ @ Bean (initMethod = "start" , destroyMethod = "destroy" )
20
+ public SpringLifeCycle create (){
21
+ SpringLifeCycle springLifeCycle = new SpringLifeCycle () ;
22
+
23
+ return springLifeCycle ;
24
+ }
25
+ }
Original file line number Diff line number Diff line change
1
+ package com .crossoverjie .spring ;
2
+
3
+ import com .crossoverjie .Application ;
4
+ import org .slf4j .Logger ;
5
+ import org .slf4j .LoggerFactory ;
6
+ import org .springframework .beans .BeansException ;
7
+ import org .springframework .context .ApplicationContext ;
8
+ import org .springframework .context .ApplicationContextAware ;
9
+
10
+ /**
11
+ * Function:
12
+ *
13
+ * @author crossoverJie
14
+ * Date: 20/03/2018 18:23
15
+ * @since JDK 1.8
16
+ */
17
+ public class SpringLifeCycle {
18
+
19
+ private final static Logger LOGGER = LoggerFactory .getLogger (SpringLifeCycle .class );
20
+ public void start (){
21
+ LOGGER .info ("SpringLifeCycle start" );
22
+ }
23
+
24
+
25
+ public void destroy (){
26
+ LOGGER .info ("SpringLifeCycle destroy" );
27
+ }
28
+ }
Original file line number Diff line number Diff line change
1
+ package com .crossoverjie .spring .annotation ;
2
+
3
+ import com .crossoverjie .spring .SpringLifeCycle ;
4
+ import org .slf4j .Logger ;
5
+ import org .slf4j .LoggerFactory ;
6
+ import org .springframework .stereotype .Component ;
7
+
8
+ import javax .annotation .PostConstruct ;
9
+ import javax .annotation .PreDestroy ;
10
+
11
+ /**
12
+ * Function:
13
+ *
14
+ * @author crossoverJie
15
+ * Date: 20/03/2018 18:46
16
+ * @since JDK 1.8
17
+ */
18
+ @ Component
19
+ public class AnnotationBean {
20
+ private final static Logger LOGGER = LoggerFactory .getLogger (AnnotationBean .class );
21
+
22
+ @ PostConstruct
23
+ public void start (){
24
+ LOGGER .info ("AnnotationBean start" );
25
+ }
26
+
27
+ @ PreDestroy
28
+ public void destroy (){
29
+ LOGGER .info ("AnnotationBean destroy" );
30
+ }
31
+ }
Original file line number Diff line number Diff line change
1
+ package com .crossoverjie .spring .service ;
2
+
3
+ import com .crossoverjie .spring .SpringLifeCycle ;
4
+ import org .slf4j .Logger ;
5
+ import org .slf4j .LoggerFactory ;
6
+ import org .springframework .beans .factory .DisposableBean ;
7
+ import org .springframework .beans .factory .InitializingBean ;
8
+ import org .springframework .stereotype .Component ;
9
+ import org .springframework .stereotype .Service ;
10
+
11
+ /**
12
+ * Function:首先执行
13
+ *
14
+ * @author crossoverJie
15
+ * Date: 20/03/2018 18:38
16
+ * @since JDK 1.8
17
+ */
18
+ @ Service
19
+ public class SpringLifeCycleService implements InitializingBean ,DisposableBean {
20
+ private final static Logger LOGGER = LoggerFactory .getLogger (SpringLifeCycleService .class );
21
+ @ Override
22
+ public void destroy () throws Exception {
23
+ LOGGER .info ("SpringLifeCycleService destroy" );
24
+ }
25
+
26
+ @ Override
27
+ public void afterPropertiesSet () throws Exception {
28
+ LOGGER .info ("SpringLifeCycleService start" );
29
+ }
30
+ }
You can’t perform that action at this time.
0 commit comments